【发布时间】:2020-05-11 23:31:24
【问题描述】:
我需要计算哪个值代表组内的 5%、34%、50%、67% 和 95%(在单独的列中)。预期的输出是
5% 34% 50% 67% 95%
A 4 6 8 12 30
B 1 2 3 4 10
每个组的整数值。
下面的代码显示了我到目前为止的内容(但使用生成的数据):
library(dplyr)
library(tidyr)
data.frame(group=sample(LETTERS[1:5],100,TRUE),values=rnorm(100)) %>%
group_by(group) %>%
mutate(perc_int=findInterval(values,
quantile(values, probs=c(0.05,0.34,0.5,0.67,0.95)))) %>%
pivot_wider(names_from = perc_int,values_from = values)
使用这个例子我得到了六列,我不知道为什么。
此外,列填充的是向量而不是单个值。如何在值向量中只获得一个表示百分位数的值?
【问题讨论】:
标签: r aggregate-functions percentile