考虑到数据的子集,我如何获得每个数据框行的百分位值?

How can I get a percentile value for each dataframe row considering a subset of the data?

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

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

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

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

包括我试过的大于选项

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

但是这样我每行只得到了一个

你可以试试

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