跨行的平均值,但不包括自己的组

时间:2018-04-21 15:25:21

标签: r dplyr

我试图计算不同群体的平均值,但是留下观察者自己的群体。

我的数据如下:

library(dplyr)

df <- tribble(
  ~year, ~country, ~value,
  2001, "France", 150, 
  2002, "France", 53, 
  2003, "France", 31, 
  2004, "France", 10, 
  2005, "France", 30, 
  2006, "France", 37, 
  2007, "France", 54, 
  2008, "France", 58, 
  2009, "France", 50, 
  2010, "France", 40, 
  2011, "France", 49, 
  2001, "USA", 55,
  2002, "USA", 53,
  2003, "USA", 64,
  2004, "USA", 70,
  2005, "USA", 80,
  2006, "USA", 160,
  2007, "USA", 55,
  2008, "USA", 53,
  2009, "USA", 71,
  2010, "USA", 11,
  2011, "USA", 10,
  2001, "GBR", 12,
  2002, "GBR", 8,
  2003, "GBR", 7,
  2004, "GBR", -5,
  2005, "GBR", NA,
  2006, "GBR", NA,
  2007, "GBR", NA,
  2008, "GBR", 5,
  2009, "GBR", 12,
  2010, "GBR", 16,
  2011, "GBR", 25
)

我有一个平衡的面板数据集,因此所有国家的年份都相同。

我想定义一个新列,其中包含来自其他两个国家/地区的值的平均值。

因此2001, "France"的值为33.5,平均值为55(来自2001, "USA")和12(来自2001, "GBR")。我杂乱的现实生活中的数据集要大得多,所以手工做这个并不是一个好主意。

0 个答案:

没有答案