【问题标题】:How can I specify probability values when invoking quantiles within apply in R?在 R 中的 apply 中调用分位数时,如何指定概率值?
【发布时间】:2016-06-14 19:14:21
【问题描述】:

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

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

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

【问题讨论】:

标签: r quantile


【解决方案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

【讨论】:

  • 或者apply(input.dat, 2, FUN = function(x) quantile(x, probs = c(0.2, 0.4, 0.6, 0.8)))
【解决方案2】:

您可以将您喜欢的削减传递给分位数函数。例如:

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

它回答了你的问题吗?

【讨论】:

    猜你喜欢
    • 2012-02-25
    • 2017-11-20
    • 1970-01-01
    • 2020-03-09
    • 2021-11-14
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多