У меня есть dataframe, который выглядит следующим образом:вычисления разницы в dataframe
set.seed(50)
data.frame(distance=c(rep("long", 5), rep("short", 5)),
year=rep(2002:2006),
mean.length=rnorm(10))
distance year mean.length
1 long 2002 0.54966989
2 long 2003 -0.84160374
3 long 2004 0.03299794
4 long 2005 0.52414971
5 long 2006 -1.72760411
6 short 2002 -0.27786453
7 short 2003 0.36082844
8 short 2004 -0.59091244
9 short 2005 0.97559055
10 short 2006 -1.44574995
Мне нужно вычислить разницу между в mean.length
между long
и short
в каждом году. Каков самый быстрый способ сделать это?
Вы можете сохранить некоторую типизацию с помощью 'ddply (df," year ", summary, val = mean.length [distance == 'long'] - mean.length [distance == 'short']), вероятно. – joran
Круто, это тоже работает. Я не знал о суммировании, спасибо :) – Adrian