у меня есть фрейм данных с 2 группами, 1 переменная времени и зависимая переменная. e.g.:
name <- c("a", "a", "a", "a", "a", "a","a", "a", "a", "b", "b", "b","b", "b", "b","b", "b", "b")
class <- c("c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3","c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3")
year <- c("2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008")
value <- c(100, 33, 80, 90, 80, 100, 100, 90, 80, 90, 80, 100, 100, 90, 80, 99, 80, 100)
df <- data.frame(name, class, year, value)
df
и хотел бы применить функцию "diff" для каждой комбинации из "class" и "name".
Мой желаемый результат должен выглядеть примерно так:
name class year value.1
1 a c1 2010 -67
2 a c1 2009 47
3 b c1 2010 -10
4 b c1 2009 20
...
Я пытался
aggregate(value~name + class, data=df, FUN="diff")
, который не дает решения, которое я ищу в большом наборе данных. Заранее большое спасибо!
Sebatian