我想在不知道列名的情况下总结一个分组的data.frame。但我所知道的是,该功能始终位于此data.frame中的第3位(列),这可能吗?
df <- data_frame(date = rep(c("2017-01-01", "2017-01-02", "2017-01-03"), 2),
group = rep(c("A", "B"), 3),
temperature = runif(6, -10, 30),
percipitation = runif(6, 0,5)
)
parameter <- "perc"
df1 <- df %>%
select(date, group, starts_with(parameter)) %>%
group_by(group) %>%
summarise(
avg = mean(percipitation)
)
在此示例中,代码有效,但当然仅适用于参数&#39; perc&#39;而不是为了临时&#39;或者。
avg = mean(df[[3]])
或类似的东西不起作用。有什么建议吗?
答案 0 :(得分:0)
您可以使用select(group, 3)
仅保留分组变量和第三列。然后可以使用函数summarise_all()
来计算平均值。
df %>%
select(group, 3) %>%
group_by(group) %>%
summarise_all(
funs(mean)
)