数据帧中的R自引用ifelse语句
我在R中有一个ifelse语句,看起来像:数据帧中的R自引用ifelse语句,r,R,我在R中有一个ifelse语句,看起来像: val<-rnorm(500,1) df<-data.frame(val) df['X']<-NA df[1,'X']<-0 df['X']<-ifelse(is.na(df$X),ifelse(df$val>0,c(0,df$X[-length(df$X)])+1,df$val),df$X) df row val, x 1 0.515... 0 2 1.832...
val<-rnorm(500,1)
df<-data.frame(val)
df['X']<-NA
df[1,'X']<-0
df['X']<-ifelse(is.na(df$X),ifelse(df$val>0,c(0,df$X[-length(df$X)])+1,df$val),df$X)
df
row val, x
1 0.515... 0
2 1.832... 1
3 -0.160... -0.160...
4 2.110... NA
val你能更好地解释一下你想要实现什么吗?当然。每次val>0时,我希望X值递增,如果它小于0,我们应用一些其他逻辑。事实上,在我的问题中,X不是增加1,而是第三列df['Z'],但我认为一旦我理解了如何增加1,它将很容易增加'Z'。这有点类似于我的问题,因此如果这不起作用,我可能需要进一步深入研究。您的最后一行缺少一个结束括号,即使添加了括号,也会给出一个错误。如果您既不陈述完整的逻辑,也不给出预期的输出,这将很难提供帮助IF(is.na(number),IFELSE(val>0,做一件事基于上一个值,做另一件事基于上一个值),当前值)
c(0…)语句中缺少括号,我道歉,代码修改