次のようなデータフレームがあります。
X Y
1 3
1 7
1 9
2 12
2 4
2 8
3 11
3 3
3 5
X = 1 の場合は 0.25、X = 2 の場合は 0.75、X = 3 の場合は 0.95 の新しい変数 Z を作成したいと思います。
次のコードを試してみました。変数 Z を作成し、X をループして、X が特定の値であるかどうかを確認し、Z を対応する正しい値に設定します。例えば:
data$Z <- 0
for (i in 1:length(data$X)){
if (data$X[i]==1) {data$Z <- 0.25)
if (data$X[i]==2) {data$Z <- 0.50)
if (data$X[i]==2) {data$Z <- 0.95)
}
問題は、何らかの理由で条件付きトリガーがこのコードで作動しないことです。最初の if ステートメントで実行すると、すべての Z が 0.25 に設定されます。最初の 2 つだけで、それらはすべて 0.50 などです。
何が起こっているのか手がかりはありますか?