重複の可能性:
ベクトル化されたステートメントを使用する場合は R
ここで関数を最適にベクトル化する方法について同様の質問がいくつかありますが、データ フレームの行ごとに if 型関数を適用する例はまだ見つかりません。
1912年から2010年までの年の値を保持する列「年」を持つデータフレームdfを指定します。特定の年がテスト年(1948など)の前後にあるかどうかのテストを適用し、文字を割り当てたいだけです」はい」または「いいえ」を別の列に入力します。簡単なはず...
現在、私は次のようにコードを書いています:
i = 1
while (i < nrow(df)) {
if (df$Year[i] < 1948) {
df$Test[i] <- "Yes"
} else { df$Test[i] <- "No"
}
i = i + 1
}
上記は機能しますが、大規模なデータセットでは速度が低下します.Rには、より「エレガントな」ソリューションが必要であることを知っています.より良いアプローチの使用は適用されますか? それとももっと簡単なものがありますか?
ありがとう!