我有50个项目,从第1列到第50列。我想计算每个项目的第95百分位数,以取代离群值。
我找到了计算特定百分位数的分位数函数quantile(data$item1, 0.95)
,但似乎我需要制作50个代码来获得每个项目的50个不同的百分位数分数。
有没有办法使用apply
或lapply
函数来计算每个项目的第95百分位数?
我试着按照下面的方式(我想我肯定错了!)。
quantile <- lapply(1:50,
function(v) quantile(data[v], probs = 0.95, na.rm = TRUE,
names = FALSE, type = 9, digites = 2))
quantile
然而,当我将该函数的结果与单独计算函数(quantile(data$item1, 0.95)
)进行比较时,数字不匹配。
1条答案
按热度按时间ctehm74n1#
您可以对数据框使用
apply()
并指定列边距(此处为2
):或给予更多分位数(例如,第50和第95):