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

时间:2016-06-14 19:14:21

标签: r quantile

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

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

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

2 个答案:

答案 0 :(得分:2)

您可以将任意概率值传递给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

答案 1 :(得分:1)

您可以将喜欢的剪切传递给分位数功能。例如:

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

它能回答你的问题吗?