首先我对R非常陌生,所以很抱歉这是一个愚蠢的问题(但我之前没有浏览过。)
我有一个包含两个整数varA和varB(其中varB可能是NA)的df,并且我需要创建第三个变量,如果varA和varB相等则为1,否则为0,或者如果varB为NA则为0。
我已经尝试过(未成功)这些方法:
mydf$varC <- 0
mydf$varC[(!is.na(mydf$varB)) && (mydf$varA == mydf$varB)] <- 1
mydf$varC <- ifelse(mydf$varA == mydf$varC, 1, 0)
答案 0 :(得分:0)
这是一个简单的例子:
df = data.frame(varA = c(1,1,0,0),
varB = c(1,0,0,NA))
df$flag = ifelse(df$varA == df$varB & !is.na(df$varB), 1, 0)
# varA varB flag
# 1 1 1 1
# 2 1 0 0
# 3 0 0 1
# 4 0 NA 0
仅当flag
不是1
时,和的值相同时,新列(varB
)才是NA
。在任何其他情况下(即值不同或 varB
是NA
),它将是0
。