次のデータフレームがあります。
id<-c(1,2,3,4)
x<-c(0,2,1,0)
A<-c(1,3,4,3)
df<-data.frame(id,x,A)
value
ここで、x> 0の場合value
、それぞれid
がA + 1 / xに等しく、x = 0の場合、値がAに等しくなるように呼び出される変数を作成します。この目的で、次のように入力しました。
value <- df$A + as.numeric(df$x > 0)*(1/df$x)
私が期待するのは、次のベクトルです。
[1] 1 3.5 5.0 3
ただし、上記のコマンドを入力すると、次のようになります。
[1] NaN 3.5 5.0 NaN
誰かがこの問題で私を助けることができるかどうか疑問に思います。前もって感謝します!