我有一个带有列的数据框-ID,Var_1,Var_2 ...,其中ID-标识符,Var_i-变量。
所以,目的是应用一些函数,例如最小值,最大值,每列的平均值,按ID分组以及获取类似的数据-
ID-min_Var_1-mean_Var_1-max_Var_1-min_Var_2-mean_Var_2 ....
问题是我有100多个变量。如何有效地做到这一点?
db <- data %>%
group_by(N_det) %>%
summarise(min_Var_1 = min(Var_1), mean_Var_1 = mean(Var_1),
max_Var_1 = max(Var_1), min_Var_2 = min(Var_2),
mean_Var_2 = mean(Var_2)...)
答案 0 :(得分:1)
我们可以使用summarise_at
library(dplyr)
data %>%
group_by(N_det) %>%
summarise_at(vars(starts_with("Vars")), list(min = ~ min(., na.rm = TRUE),
max = ~ max(., na.rm = TRUE),
mean = ~ mean(., na.rm = TRUE)))
带有iris
iris %>%
group_by(Species) %>%
summarise_at(vars(ends_with("Width")),
list(min = ~ min(., na.rm = TRUE), max = ~ max(., na.rm = TRUE)))