根据以下数据,我想分别为男性和女性提取平均值。我如何在R ??
中实现这一目标
答案 0 :(得分:1)
或者您可以使用dplyr
:
df <- data.frame(variable=c(rep('Males', 10), rep('Females', 10)), value=sample(1:1000, 20))
df$variable <- as.factor(df$variable)
df2 <- df %>% group_by(variable) %>% summarise(average = mean(value))
df2
Source: local data frame [2 x 2]
variable average
1 Females 566.8
2 Males 575.0
答案 1 :(得分:0)
您可以使用which
来识别男/女的行。这里有一些示例数据:
df <- data.frame(variable=c(rep('Males', 10), rep('Females', 10)), value=sample(1:1000, 20))
然后
mean(df[which(df$variable=='Males'),]$value)
mean(df[which(df$variable=='Females'),]$value)
另请查看aggregate
:
aggregate(.~variable, data=df, mean)