数据帧中的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...

我在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...    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…)语句中缺少括号,我道歉,代码修改