Как применить mutate на основе ntile () - групп в dplyr? - PullRequest
1 голос
/ 03 февраля 2020

Я пытался найти ответы на основе похожих вопросов

Будучи абсолютно новым для tidyverse, у меня возник следующий вопрос: как я могу оценить медиану за ntile(), используя dplyr

# Data    
library(survival)
data(lung)

Первый

p <- lung %>% mutate(test=ntile(inst,3))

Так что теперь, когда

table(p$test)

 1  2  3 
76 76 75 

Я бы хотел оценить среднее время, ie p$time, за p$test

Что-то вроде

p %>% mutate(test=ntile(inst,3), test.time=median(time[test %in% 1:3]))

Что не дало того, что я искал.

1 Ответ

2 голосов
/ 03 февраля 2020

Мы можем использовать «тест» в качестве переменной группировки для вычисления median «времени»

library(dplyr)
lung %>% 
  group_by(test = ntile(inst, 3)) %>%
  mutate(test.time=median(time))

Если требуется суммированный вывод, то заменить mutate на summarise

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...