如何在R中的数据帧(df)中找到每个data_point的平均值?

时间:2018-06-07 10:16:31

标签: r dataframe average

数据框(df):

Data_point |测量

a | 2

a | 4

b | 6

b | 8

c | 4

c | 10

3 个答案:

答案 0 :(得分:0)

数据

Data_point <- c('a','a','b','b','c','c')
Measurement <- c(2,4,6,8,4,10)

df <- data.frame(Data_point=Data_point, Measurement=Measurement)

您可以使用meanwhich来选择所需的值。将它组合成一个函数可以得到你想要的结果。如上所述,可能已经存在一个函数(可能在tidyverse中的某个地方),但这只与基数R一起使用。

average <- function(x) {
  mean(df$Measurement[which(df$Data_point == x)])
}

sapply(unique(df$Data_point), average)
#[1] 3 7 7

答案 1 :(得分:0)

正如艾琳所说,dplyr可以做到这一点。使用Shique的数据:

Columns.Count

答案 2 :(得分:0)

base R选项为aggregate

aggregate(.~ Data_point, df1, mean)