从这样的数据输入框中:
dframe <- structure(list(com = structure(c(1L, 2L, 1L, 2L), .Label = c("col1",
"em"), class = "factor"), com_num = c(3.1, 2.1, 2.1, 4.1), stock1 = c(3.1,
0, 2.1, 4.1), aim = c(3.1, 2.1, 0, 4.1)), row.names = c(NA,
-4L), class = "data.frame")
如何创建这样的输出:
data.frame (value = c("col1, em"), stock1 = c(2.6, 2.05), aim = c(1.55, 3.1))
条件是: 对于每一列stock1和目标,我们使用com列的标签并计算每个标签的平均值。
答案 0 :(得分:1)
在对数据进行分组之后,可以使用dplyr并汇总目标变量。
library(tidyverse)
df_2 <- dframe %>%
group_by(com) %>%
summarise_at(vars(stock1, aim), mean)
df_2