我有数据,看起来像这样:ifelse没有结束行循环如预期
df <- read.table(tc <- textConnection("
var1 var2 var3 var4
1 1 7 NA
4 4 NA 6
2 NA 3 NA
4 4 4 4
1 3 1 1"), header = TRUE); close(tc)
我试图创造,如果有,如果没有匹配或0返回1的新列。
我不工作的代码如下所示:
df$var5 = ifelse("1" %in% df$var1,1,
ifelse("1" %in% df$var2,1,
ifelse("1" %in% df$var3,1,
ifelse("1" %in% df$var4,1,0))))
给我一个表:
var1 var2 var3 var4 var5
1 1 7 NA 1
4 4 NA 6 1
2 NA 3 NA 1
4 4 4 4 1
1 3 1 1 1
表其实我是想应该像
var1 var2 var3 var4 var5
1 1 7 NA 1
4 4 NA 6 0
2 NA 3 NA 0
4 4 4 4 0
1 3 1 1 1
我已经看了帖子:
ifelse not working as expected in R
和
Loop over rows of dataframe applying function with if-statement
,但我无法得到任何回答我的问题。