【发布时间】:2020-06-25 03:10:23
【问题描述】:
我在 R 中有一个数据集,我想在数据集中找到给定变量的平均值(此处为 1871-2019 年)。不是每一年都有相同数量的条目,所以我遇到了两个问题:第一,如何找到每年变量的平均值,第二,如何将平均值列添加到数据集中。我不确定如何解决第一个问题,但我尝试了第二个问题的一个版本,方法是简单地找到每个组的总和,然后尝试将这些值添加到给定年份的每个条目的数据集中,代码为 teams$SBtotal <- tapply(teams$SB, teams$yearID, FUN=sum) .该代码导致出现replacement has 149 rows, data has 2925 的错误。我知道这在 Excel 中可以做得不那么快,但我希望能够使用 R 来解决这个问题。
【问题讨论】:
-
请用
dput展示一个可重复的小例子,因为这应该可以工作tapply(iris$Sepal.Length, iris$Species, FUN = sum)#setosa versicolor virginica 250.3 296.8 329.4 -
如果您使用
tapply汇总数据,则无法返回相同的df。试试ave(),它的返回值与输入的长度相同。
标签: r