根据标签根据均值计算创建新的数据框

时间:2019-02-17 23:15:21

标签: r

从这样的数据输入框中:

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列的标签并计算每个标签的平均值。

1 个答案:

答案 0 :(得分:1)

在对数据进行分组之后,可以使用dplyr并汇总目标变量。

library(tidyverse)
df_2 <- dframe %>% 
    group_by(com) %>%
    summarise_at(vars(stock1, aim), mean)

df_2