根据另一列的平均值查找一列的平均值

时间:2017-10-27 08:05:19

标签: r dataframe dplyr

执行此代码后,我获得了12行数据,其中包含新列A1。我想要一个这样的功能,适用于所有" 1"出现在A1中,我应该得到相应的Sepal.Length值的平均值,类似于" 2"和" 3"并将三个平均值分配给一个新的向量。总而言之,这是一个基于上述要求的三个平均值的向量。

iris1 = iris[1:12,]
a = data.frame(A1=rep(1,4))
b = data.frame(A1=rep(2,4))
c = data.frame(A1 = rep(3,4))
abc = rbind(a,b,c)
abc
iris2 = data.frame(abc,iris1)
View(iris2)

1 个答案:

答案 0 :(得分:0)

试试这个

library(dplyr)
iris2 %>% group_by(A1) %>% summarise(Avg = mean(Sepal.Length,na.rm = TRUE))

如果你真的只想要带有平均值的矢量

iris2 %>% group_by(A1) %>% summarise(Avg = mean(Sepal.Length,na.rm = TRUE)) %>% `$`(Avg)