如何在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应用变异?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 R 和 dplyr 中连续的元素执行 group_by

R语言dplyr包排序及序号函数实战(row_numberntilemin_rankdense_rankpercent_rankcume_dist)

使用 group_by(多个变量)时的 dplyr 问题

了解 dplyr 和 group_by

使用 dplyr group_by 模拟 split():返回数据帧列表

在 dplyr 中使用 group_by 时在 R 中格式化数字 [重复]