繁体   English   中英

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

[英]Sum or mean of certain element in data frame in 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 有谁知道一种便捷的方法来获取连续的一些元素的均值?

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

应该也可以。

这将按预期保留变量的前两列,并追加名为tot的列,该列= =三个“年”列的平均值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM