我有以下数据框:
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)
我期望的是一个向量 a 如下:
[1] 1 3.5 5.0 3
但是我通过输入上述命令得到的是:
[1] NaN 3.5 5.0 NaN
我想知道是否有人可以帮助我解决这个问题。提前致谢!