我的数据:
x1 x2 result
abc abc 1
abc def 0
def def 1
比较时的两列给出1和0的结果,如果匹配则为1,否则为0。 我知道我可以使用for循环,但是它有一个函数吗?
我尝试使用比较,但我认为它不再存在。
修改:在线搜索比较包,并尝试使用比较功能,但它没有用。
答案 0 :(得分:0)
你可以写:
df$result <- ifelse(df$x1 == df$x2, 1, 0)
如果两列x1和x2相等,则读取结果为1,如果它们不相等,则结果为0.
答案 1 :(得分:0)
使用dplyr:
df <- df %>% mutate(result=ifelse(x1==x2,1,0))
类似于前一个答案
答案 2 :(得分:0)
您还可以使用==
和隐式转换(布尔值 - &gt;数字):
df$result <- (df$x1==df$x2)*1
# or skip the parentheses and *1 if TRUE/FALSE values are OK