テキスト ファイルから R に 4 列と 1180598 行のデータをインポートしました。以下は、データの最初の 5 行です。
Vehicle ID Time Vehicle Class Preceding Vehicle
1 2 0.1 2 0
2 2 0.2 2 0
3 2 0.3 2 0
4 2 0.4 2 0
5 2 0.5 2 0
上記の一番左の列はインデックスです。「車両 ID」は、「時間」列に示されている特定の「時間」における車両の ID です。全部で 2169 台の車両がありますが、ここでは車両 2 のみを示しています。「Vehicle Class」は、1=オートバイ、2=乗用車、または 3=トラックのいずれかです。上記のデータでは車です。「先行車両」は、「車両ID」列に記載された車両の先行車両のIDです。
上記の情報を使用して、「先行車両クラス」の新しい列を作成したいと考えています。R が先行車両クラスを見つけるには、まず「先行車両」列を調べてから、「車両 ID」列を調べる必要があります。同じ ID が見つかったら、「車両クラス」に車両のクラスが表示されます。結果を新しい列「Preceding Vehicle Class」に保存します。次のコードを試しましたが、読み込み時間が 5 分を超えても何も起こりません:
for (i in a[,'Preceding Vehicle']) for (j in a[,'Vehicle ID']) {
if (i==j) {pclass <- a[,'Vehicle ID']} else {pclass <- 0} }
a[,'Preceding Vehicle Class'] <- pclass
「a」はデータフレームの名前です。コードの修正にご協力ください。