R中数据帧中某些元素的和或均值

时间:2016-02-05 12:50:58

标签: r

我的数据框看起来像这样:

  k v 2002 2006 2010
1 a x 79.1 80.2 83.2
2 a y 75.1 76.2 79.3
3 a z 74.7 75.8 79.0
4 b x 82.8 85.9 87.6
5 b y 81.1 83.5 85.1
6 b z 80.5 83.1 84.6

等。我需要的是每一行的数值的平均值,即我希望它看起来像这样:

  k v    tot
1 a x 80.833
2 a y 76.867
3 a z 76.500
4 b x 85.433
5 b y 83.233
6 b z 82.733

我不想保留原始价值,只是手段。我知道rowMeans,但据我所知,我不能(也不想)使用它,因为它是整个行的平均值,而不仅仅是最后三列。我试着用

rowMeans(subset(df,select=3:5))

然后我只得到数值并且松散变量kv。有没有人知道一种方便的方法来获得连续一些元素的平均值?

1 个答案:

答案 0 :(得分:1)

dplyr::mutate(df, tot= (`2002`+`2006`+`2010`)/3) 

也应该有用。

这将按预期保留前两列变量,并附加一个名为tot的列,即=三年的平均值' COLS。