【发布时间】:2015-11-05 08:21:39
【问题描述】:
我有这样的表“年龄”:
Age State
23 1
26 3
29 1
41 2
51 1
对于这样的问题,最简单的方法是对那些 State = 1 的人平均年龄
【问题讨论】:
我有这样的表“年龄”:
Age State
23 1
26 3
29 1
41 2
51 1
对于这样的问题,最简单的方法是对那些 State = 1 的人平均年龄
【问题讨论】:
如果我们只需要 'Age' 的 mean,其中 'State' 为 1,则将对应于 1 的 'State' 的 'Age' 值子集并得到 mean
mean(df1$Age[df1$State==1])
或者如果我们需要每个“州”组的“年龄”mean,一个选项是aggregate
aggregate(Age~State, df1, FUN=mean)
或者我们使用data.table 将“data.frame”转换为“data.table”(setDT(df1)),得到“年龄”的“平均值”,按“状态”分组。
library(data.table)
setDT(df1)[, list(Age=mean(Age)), State]
【讨论】:
等等:
library(dplyr)
df %>% group_by(State) %>% summarise(ave = mean(Age)) %>% filter(State == 1)
【讨论】:
你也可以...
mean(subset(df1,State == 1)$Age)
【讨论】: