如何在dplyr中基于ntile()-groups应用变异?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在dplyr中基于ntile()-groups应用变异?相关的知识,希望对你有一定的参考价值。

我尝试根据相似的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$timep$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

以上是关于如何在dplyr中基于ntile()-groups应用变异?的主要内容,如果未能解决你的问题,请参考以下文章