我是R的新手,我有一个数值矩阵,只想显示特定列中最高的20%。
如有任何帮助,我们不胜感激!
发布于 2020-04-11 13:30:07
使用data.table对象,您将执行以下操作:
library(data.table)
df <- as.data.table(m1)
col <- colnames(df)
m1[get(col) >= quantile(get(col), probs = .8)]如果数据集很大,这可能是最快的方法
发布于 2020-04-11 07:14:25
我们可以使用quantile创建一个逻辑向量并从列中提取元素(这里假设它是第一列)
m1[,1][m1[,1] >= quantile(m1[,1], 0.8)]如果是data.frame,我们可以使用top_frac
library(dplyr)
as.data.frame(m1) %>%
top_frac(n = 0.2, wt = col1)或使用slice_max
as.data.frame(m1) %>%
slice_max(col1, prop = 0.2)https://stackoverflow.com/questions/61149920
复制相似问题