删除两列之间的重复值

时间:2021-05-19 15:28:15

标签: r

我有两列(v1 和 v2),例如:

v1 <- c(0,0,1,0,1,0,0,0,1) v2 <- c(1,1,1,0,1,1,1,0,1)

我想创建一个新列 (V3)。新列与 v2 完全相同,只是如果 v1 中的 1 与 v2 中的 1 匹配,则该值更改为零。因此,所需的解决方案如下所示:

v1 <- c(0,0,1,0,1,0,0,0,1) 
v2 <- c(1,1,1,0,1,1,1,0,1) 
v3 <- c(1,1,0,0,0,1,1,0,0)

4 个答案:

答案 0 :(得分:2)

这能解决您的问题吗?

 df$v3 <- ifelse(df$v1 == 1 & df$v2 == 1, 0, df$v2)

答案 1 :(得分:1)

在您的示例中,减法有效:v3 <- v2 - v1

如果 v2 中存在 0,v1 中存在 1,则它不起作用,但在您的示例数据中似乎并非如此。如果这是一个问题,您可以修改为 v3 <- v2 - (v1 & v2)

答案 2 :(得分:1)

我们也可以这样做

using

答案 3 :(得分:1)

它似乎对 2 取模,如下所示

> (v1 + v2) %% 2
[1] 1 1 0 0 0 1 1 0 0
相关问题