我有一个包含 145 行和 1000 多列的数据框 obs。

对于每一行,我想提取第 95 个百分位数的值,但仅根据大于或等于 1 的数据进行计算。

考虑到所有数据,我设法为每一行计算了一个值,如下所示:

p95.obs <- apply(obs,1,quantile,probs=c(.95))

包括我试过的大于选项
p95.obs <- apply(obs>=1,1,quantile,probs=c(.95))

但通过这种方式,我每行只获得了 1 个。

最佳答案

你可以试试

 apply(obs, 1, function(x) quantile(x[x>=1], probs=.95))

关于r - 考虑到数据的子集,如何获得每个数据帧行的百分位值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30077615/

10-12 17:47