【发布时间】:2011-11-24 09:08:55
【问题描述】:
我有一个包含 2 组 1 个时间变量和一个因变量的数据框。例如:
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
并希望在“类”和“名称”的每个组合中应用“差异”函数。
我想要的输出应该是这样的:
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")
这不会产生我在大型数据集中寻找的解决方案。非常感谢您!
塞巴提安
【问题讨论】: