R其他列的值相等时的列平均值

Fil*_*lip -3 average r

我有这样的表"年龄":

Age State
23    1
26    3
29    1
41    2
51    1
Run Code Online (Sandbox Code Playgroud)

对于这样的问题,对于那些具有State = 1的人来说,采用Age的平均值是最简单的方法

akr*_*run 5

如果我们只需要mean'State'为'State'为1的'Age',则将'State'值对应于'State'为1并将其获得mean

mean(df1$Age[df1$State==1])
Run Code Online (Sandbox Code Playgroud)

或者如果我们需要mean每个'州'组的'年龄',一个选项是aggregate

aggregate(Age~State, df1, FUN=mean)
Run Code Online (Sandbox Code Playgroud)

或者我们使用data.table将'data.frame'转换为'data.table'(setDT(df1))的地方,得到'Age'的'mean',按'State'分组.

library(data.table)
setDT(df1)[, list(Age=mean(Age)), State]
Run Code Online (Sandbox Code Playgroud)