如何从R中的数据集中分别找到男性和女性的中位数?

时间:2015-04-10 09:37:59

标签: r

根据以下数据,我想分别为男性和女性提取平均值。我如何在R ??

中实现这一目标

enter image description here

2 个答案:

答案 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)