答案 0 :(得分:0)
我们需要从()
中删除mean
或使用匿名函数,然后使用function(x) mean(x, na.rm = TRUE)
。如果我们不想使用匿名函数,请指定参数和该参数的值
aggregate(. ~ station, data2017[-14], mean, na.rm = TRUE, na.action = na.pass)
注意:在这里,由于列中有NA元素,我们可能还需要na.action
。默认情况下,如果其中一行中有任何NA,则可以删除NA行
作为可重现的示例,我们可以使用mtcars
数据集
data(mtcars)
mtcars[3:4, 2] <- NA # assigning some NA
mtcars[10, 5] <- NA
aggregate(. ~ gear, mtcars, mean(na.rm = TRUE))
mean.default(na.rm = TRUE)错误:缺少参数“ x”,带有 没有默认值
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
请注意,当我们添加mean
时,na.action
值的差异