【发布时间】:2020-01-30 12:29:40
【问题描述】:
我有一个 100 行 x 10 列的矩阵:
mat1 = matrix(1:1000, nrow = 100, ncol = 10)
我希望使用 colQuantiles 找到每列的第 n 个百分位数,其中第 n 个百分位数等于 Probs 中包含的概率值,除非 Probs 中的任何值 > 0.99 - 在这种情况下,我想要 0.99 的值应用。
Probs = c(0.99, 0.95, 1, 1, 0.96, 0.92, 1, 0.98, 0.99, 1)
我尝试了以下方法:
Res = ifelse(Probs > 0.99, colQuantiles(mat1, Probs = c(0.99)), colQuantiles(mat1, probs = Probs))
但这只是针对 mat1 的所有十列返回上述语句的 if true 部分,大概是因为 Probs 中至少有一个值 > 0.99。如何调整上述内容,以便根据 Probs 中的概率单独处理 mat1 的每一列?
【问题讨论】:
标签: r