在R中按值和组汇总列

neb*_*oso -1 r sum

我有这样的数据帧:

data <- read.table(text="group;  yr1;   yr2;    val
  a;        1945;   1946;   20
  a;        1945;   1946;   50
  a;        1947;   1948;   40
  b;        1926;   1927;   45
  b;        1927;   1928;   -10
  b;        1927;   1928;   -15 ", sep=";", header=T, stringsAsFactors = FALSE)
Run Code Online (Sandbox Code Playgroud)

什么是val按组分别列出每对年份的最佳方法,以便结果如下所示?

group   yr1     yr2     val
a       1945    1946    70
a       1946    1947    40
b       1926    1927    45
b       1927    1928    -25
Run Code Online (Sandbox Code Playgroud)

tal*_*lat 5

在基地R:

aggregate(val ~ group + yr1 + yr2, data, sum)
#  group  yr1  yr2 val
#1     b 1926 1927  45
#2     b 1927 1928 -25
#3     a 1945 1946  70
#4     a 1947 1948  40
Run Code Online (Sandbox Code Playgroud)