Я хотел бы условно изменить новый столбец, представляющий pmax()
столбцов, заканчивающихся на «_n» для данной строки. Я знаю, что могу сделать это, явно указав имена столбцов, но я бы предпочел, чтобы это было результатом вызова ends_with()
или подобного.
Я пробовал mutate_at()
и обычный mutate()
. Моя общая мысль заключается в том, что мне нужно передать vars(ends_with("_n"))
чему-то, но я просто что-то упускаю.
Заранее спасибо.
library(dplyr)
library(tidyr)
mtcars %>%
group_by(vs, gear) %>%
summarize(mean = mean(disp),
sd = sd(disp),
n = n()) %>%
mutate_if(is.double, round, 1) %>%
mutate(mean_sd = paste0(mean, " (", sd, ")")) %>%
select(-mean, -sd) %>%
group_by(vs, gear) %>%
nest(n, mean_sd, .key = "summary") %>%
spread(key = vs, value = summary) %>%
unnest(`0`, `1`, .sep = "_")
gear `0_n` `0_mean_sd` `1_n` `1_mean_sd`
<dbl> <int> <chr> <int> <chr>
1 3 12 357.6 (71.8) 3 201 (72)
2 4 2 160 (0) 10 115.6 (38.5)
3 5 4 229.3 (113.9) 1 95.1 (NA)
изменить: оба ответа очень ценятся. Ура!