私は2つのイベント(xとy)が不規則に発生する時系列を持っています。 私はxから最も近いyイベントまでの時間を記述するスクリプトを少し書こうとしています。例えば時刻の2つの時系列における最も近い時刻の差
:
Time x y
11:01:00 1 0
11:03:04 0 1
11:03:34 0 0
11:06:12 1 1
11:12:00 0 0
Iは、各行がYの各「1」からXベクトルに最も近い「1」までの時間であるベクターを作成しようとしています。
したがって、上記の返します:
diff
02:04 (closest point is the previous row here)
0 (occurred on the same row so time difference is 0)
05:48 (occurred on the previous row)
再現性の例:
time<-c("11:01:00","11:03:04","11:03:34","11:06:12","11:12:00")
x<-c(1,0,0,1,0)
y<-c(0,1,0,1,0)
df<-data.frame(time,x,y)
を私はこれについて移動する方法が本当にわからないと任意の助けをいただければ幸いです!我々は時間の欄にarithmaticを使用することができますので、
df$time <- as.POSIXct(df$time, format = "%H:%M:%S")
はその後、我々はで、二つの新しい列を作成POSIXct形式にデータを変換することによって
まず:
ありがとう!私はこれを介して作業しようとしています - 私は間違いなくdplyrを持っていますが、3番目のステップに着くと、関数fillが存在しないというエラーコードが表示されます。 " " function_list [[k]](値)のエラー:関数 "fill"を見つけることができませんでした。 " 私は周りにGoogleを持っていましたが、塗りつぶし機能の言及を見つけることができませんでしたか? – Ash
私の悪い、満ちているのはきれいな人です、今すぐ試してください – jeremycg