データ
私は2つの行列を持っています。 traf_id
は、2つの列の2つの信号灯のIDを表します(信号灯が車に最も近い場合は、最初の列にあります)。第2の行列traf_state
は、信号光の状態(1 =赤と2 =緑)を表す(再び、最も近い光の状態が第1の列に入れられる)。上記データにおいて別の行列の値に基づいて行列の列の値を取得する方法はありますか?
traf_id <- matrix(data = c(rep(12353,4), rep(12453,4), rep(12453,4), rep(12353,4)), nrow = 8, ncol = 2)
[,1] [,2]
[1,] 12353 12453
[2,] 12353 12453
[3,] 12353 12453
[4,] 12353 12453
[5,] 12453 12353
[6,] 12453 12353
[7,] 12453 12353
[8,] 12453 12353
traf_state <- matrix(data = c(rep(1,8), rep(2,8)), nrow = 8, ncol = 2)
[,1] [,2]
[1,] 1 2
[2,] 1 2
[3,] 1 2
[4,] 1 2
[5,] 1 2
[6,] 1 2
[7,] 1 2
[8,] 1 2
、トラフィック光12353
は、第4の時間フレーム(1に等しいtraf_state
有する)のために車に最も近いため、最初の列に入れました。フレーム5から8までは、12453
が最も近いフレームです。私は3列のデータフレームを作成したい
をやりたい
。最初は時間枠の列でなければなりませんし、他の2つは、与えられた時間枠のために与えられたトラフィックの光のトラフィック状態が含まれている必要があります。
foo <- data.frame(frames = 1:8, state_12353 = c(rep(1,4), rep(2,4)), state_12453 = c(rep(2,4), rep(1,4)))
> foo
frames state_12353 state_12453
1 1 1 2
2 2 1 2
3 3 1 2
4 4 1 2
5 5 2 1
6 6 2 1
7 7 2 1
8 8 2 1
上記のデータフレームを作成することが関連しているdplyr
のどの機能私を導いてください。