2 つの 2 つの列の間の時間差を計算しようとしていますが、「difftime」の時間 2 は次の行にあります。
sample data:
structure(list(code = c(10888, 10888, 10888, 10888, 10888, 10888,
10889, 10889, 10889, 10889, 10889, 10889, 10890, 10890, 10890
), station = c("F1", "F3", "F4", "F5", "L5", "L7", "F1", "F3",
"F4", "L5", "L6", "L7", "F1", "F3", "F5"), a = structure(c(1365895151,
1365969188, 1366105495, 1367433149, 1368005216, 1368011698, 1366244224,
1366414926, 1367513240, 1367790556, 1367946420, 1367923973, 1365896546,
1365907968, 1366144207), class = c("POSIXct", "POSIXt"), tzone = ""),
b = structure(c(1365895316, 1365976904, 1366105495, 1367436539,
1368005233, 1368033855, 1366244224, 1366415643, 1367513840,
1367915506, 1367946597, 1367954061, 1365897164, 1365907968,
1366157867), class = c("POSIXct", "POSIXt"), tzone = "")), .Names = c("code",
"station", "a", "b"), row.names = 2:16, class = "data.frame")
列aの最初の行と列bの2番目の行の間の時間を計算したい。
Difftime はとても簡単です:
difftime(test$a, test$b)
ただし、次の行を取得するのに苦労しています。試しました:
difftime(test$a, c(test, b[seq_len(.N+1)])[])
このテーマのバリエーションがありますが、役に立ちません。
最後に、計算は by=code で行うので、difftime は同じコードの値の間でのみ計算されます。おそらくddplyを使用していますか?または、by=コード。