我尝试根据相似的questions查找答案
tidyverse
的新手,我有以下问题:如何使用ntile()
估算dplyr
的中位数
# Data
library(survival)
data(lung)
第一
p <- lung %>% mutate(test=ntile(inst,3))
现在就这样
table(p$test)
1 2 3
76 76 75
我想估计中位数时间,即每p$time
为p$test
类似
p %>% mutate(test=ntile(inst,3), test.time=median(time[test %in% 1:3]))
没有提供我想要的。
我们可以使用'test'作为分组变量来计算'time'的median
library(dplyr)
p %>%
group_by(test = ntile(inst, 3)) %>%
mutate(test.time=median(time))
如果需要汇总的输出,则将mutate
替换为summarise