首页 文章

如何在R中的apply中调用分位数时指定概率值?

提问于
浏览
1

我有一个R脚本,我用它来创建一个新的数据矩阵,该矩阵由连续数据矩阵的bin值组成 . 现在它使用此命令正常工作:

quant.mat <- apply(input.dat,2,quantile)

但这给了我0.25,0.5和0.75的标准分位数分布 . 我想要的是能够任意指定不同的值(例如0.2,0.4,0.6,0.8) . 我似乎无法使其发挥作用 .

2 回答

  • 1

    您可以将任意概率值传递给 probs 参数,例如,如果您有随机数据框:

    input.dat
       A  B  C  D
    1 78 12 43 12
    2 23 12 42 13
    3 14 42 11 99
    4 49 94 27 72
    
    apply(input.dat, 2, quantile, probs = c(0.2, 0.4, 0.6, 0.8))
           A    B    C    D
    20% 19.4 12.0 20.6 12.6
    40% 28.2 18.0 30.0 24.8
    60% 43.8 36.0 39.0 60.2
    80% 60.6 62.8 42.4 82.8
    
  • 2

    你可以将你喜欢的剪切传递给分位数函数 . 例如:

    values<-runif(100,0,1)
    quantile(values, c(0.2,0.4,0.6,0.8))
    

    它能回答你的问题吗?

相关问题