我有以下数据库。
df <- data.frame(col1 = c(0,0,1,1),col2 = c(1,0,0,4),col3 = c(1,0,0,3))
我想创建一个向后计数的列,以便在出现第一个&gt; 0值时识别第二个值。 因此,第4栏中数据库的预期答案为1,0,0,4。
我试过了,但是返回了矢量。
df$Test <- apply(df[,1:3],1,function(x)x[tail(which(x>0),2)])
最诚挚的问候, 圣拉斐尔
答案 0 :(得分:0)
我们可能需要
x1 <- apply(df, 1, function(x) x[x >0][2])
replace(x1, is.na(x1), 0)
#[1] 1 0 0 4