编写函数以基于用户的特定函数调用来计算一般均值

时间:2017-02-04 16:37:03

标签: r dataframe mean

我在Mac OS Sierra 10.12.2中使用Rstudio版本1.10.136,这就是我想要做的。我有一组数据,我创建了一个数据框,然后在删除NA后对其进行了过滤,它看起来像这样:

            Date sulfate nitrate ID
279   2003-10-06  7.2100  0.6510  1
285   2003-10-12  5.9900  0.4280  1
291   2003-10-18  4.6800  1.0400  1
297   2003-10-24  3.4700  0.3630  1
303   2003-10-30  2.4200  0.5070  1

现在我想基于ID调用计算平均值,例如:

mean("specdata_subset", "sulfate", 1:10)

mean("specdata_subset", "nitrate", 40)

如何编写一个通用功能,帮助我根据ID号计算平均值。

1 个答案:

答案 0 :(得分:1)

使用aggregate()

aggregate(nitrate~ID, df,  mean)
aggregate(sulfate~ID, df,  mean)

数据:

df <- read.table(text = '
Date sulfate nitrate ID
279   2003-10-06  7.2100  0.6510  1
285   2003-10-12  5.9900  0.4280  1
291   2003-10-18  4.6800  1.0400  1
297   2003-10-24  3.4700  0.3630  1
303   2003-10-30  2.4200  0.5070  1')