у меня есть R DataFrame ф.р. со следующим содержанием:Использование различий() в R с NA и отрицательными числами
Serial N year current
B 10 14
B 10 16
B 11 10
B 11 NA
B 11 15
C 12 11
C 12 9
C 12 13
C 12 17
. . .
Я хотел бы узнать разницу между каждой последовательной парой тока одного и того же последовательного N. Это код, который я wrote.But я получаю какие-то странные результаты
library(data.table)
setDT(df)[,mydiff:=diff(df$current),by=Serial N]
print(length(df$current))
Я получаю следующее, как outuput для этого столбца довольно странно, я получаю это:
2 6 NA NA NA 2 6 NA NA NA
Что я хотел бы иметь на самом деле:
Serial N year current mydiff
B 10 14
B 10 16 16-14=2
B 11 10 10-16=-4
B 11 NA NA
B 11 15 15-10=5
C 12 11
C 12 9 9-11=-2
C 12 -13 -13-9=-22
C 12 17 17-(-13)=30
. . .
ли дифф правильную вещь, чтобы сделать это? если нет, то как это решить (особенно без использования петель)?
Работает отлично. спасибо – user3841581