R 如何按一列分组并获取其他列的平均值

R 如何按一列分组并获取其他列的平均值,r,R,合计(.~站点,数据2017[-14],平均值(na.rm=TRUE)) 为什么我的命令不起作用?我们需要从mean中删除(),或者使用匿名函数,然后使用函数(x)mean(x,na.rm=TRUE)。如果我们不想使用匿名函数,那么指定参数和该参数的值 aggregate(. ~ station, data2017[-14], mean, na.rm = TRUE, na.action = na.pass) 注意:这里,我们可能还需要na.action,因为列中有na元素。默认情况下,如果其

合计(.~站点,数据2017[-14],平均值(na.rm=TRUE))
为什么我的命令不起作用?

我们需要从
mean
中删除
()
,或者使用匿名函数,然后使用
函数(x)mean(x,na.rm=TRUE)
。如果我们不想使用匿名函数,那么指定参数和该参数的值

aggregate(. ~ station, data2017[-14], mean, na.rm = TRUE, na.action = na.pass) 
注意:这里,我们可能还需要
na.action
,因为列中有na元素。默认情况下,如果其中一行中存在任何NA,它可以删除NA行


作为一个可复制的示例,我们可以使用
mtcars
数据集

data(mtcars)
mtcars[3:4, 2] <- NA # assigning some NA
mtcars[10, 5] <- NA
aggregate(. ~ gear, mtcars, mean(na.rm = TRUE))

请注意,当我们添加
na时,
平均值
存在差异。操作

将代码和数据发布为图像,这使得我们很难重现并尝试解决您的问题。您应该将您的代码和数据的一部分作为正确格式的文本发布在问题正文中(您可以使用
dput
输出数据,然后将其粘贴到问题中,选择它,然后单击
{}
按钮将其格式化为代码)。谢谢提醒!
aggregate(. ~ gear, mtcars, mean, na.rm = TRUE)
#  gear      mpg      cyl     disp       hp     drat     wt     qsec        vs  am     carb
#1    3 15.72857 7.571429 331.1786 180.8571 3.136429 3.9410 17.56714 0.1428571 0.0 2.785714
#2    4 25.24000 4.600000 120.0600  85.8000 4.075000 2.5640 19.06700 0.8000000 0.7 2.300000
#3    5 21.38000 6.000000 202.4800 195.6000 3.916000 2.6326 15.64000 0.2000000 1.0 4.400000

aggregate(. ~ gear, mtcars, mean, na.rm = TRUE, na.action = na.pass)
#  gear      mpg      cyl     disp       hp     drat       wt   qsec        vs        am     carb
#1    3 16.10667 7.571429 326.3000 176.1333 3.132667 3.892600 17.692 0.2000000 0.0000000 2.666667
#2    4 24.53333 4.727273 123.0167  89.5000 4.054545 2.616667 18.965 0.8333333 0.6666667 2.333333
#3    5 21.38000 6.000000 202.4800 195.6000 3.916000 2.632600 15.640 0.2000000 1.0000000 4.400000