如何在其他两个相同的R变量中创建指标变量?

时间:2018-11-26 15:44:10

标签: r dataframe boolean

首先我对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)

1 个答案:

答案 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。在任何其他情况下(即值不同 varBNA),它将是0