在R中查找不匹配的变量

在R中查找不匹配的变量,r,R,我合并了两个数据集,但发现一大堆记录对某种疾病状态有不同的编码结果。e、 g > ID <- c(1,2,3,4,5,6,7,8,9) > status1 <- c(1,1,1,1,2,1,1,1,1) > status2 <- c(1,1,1,2,1,1,1,1,1) > df <- data.frame(ID, status1, status2) > df ID status1 status2 1 1 1 1

我合并了两个数据集,但发现一大堆记录对某种疾病状态有不同的编码结果。e、 g

> ID <- c(1,2,3,4,5,6,7,8,9)
> status1 <- c(1,1,1,1,2,1,1,1,1)
> status2 <- c(1,1,1,2,1,1,1,1,1)
> df <- data.frame(ID, status1, status2)
> df
  ID status1 status2
1  1       1       1
2  2       1       1
3  3       1       1
4  4       1       2
5  5       2       1
6  6       1       1
7  7       1       1
8  8       1       1
9  9       1       1
我得到的最接近的是

> discordant <- ifelse(df$status1 != df$status2,c(df$ID, df$status1, df$status2), NA)
> discordant
[1] NA NA NA  4  5 NA NA NA NA
>不和谐不和谐
[1] NA NA 4 5 NA NA NA NA

我不知道为什么它只给我ID,而不给我status1和status2。

啊,把ifelse和subset结合起来就知道了

> discordant <- subset(df, ifelse(df$status1 != df$status2,TRUE, FALSE))
> discordant
  ID status1 status2
4  4       1       2
5  5       2       1
>不和谐不和谐
ID状态1状态2
4  4       1       2
5  5       2       1
就这么简单吗

df[df$status1 != df$status2,]

ID status1 status2
4  4       1       2
5  5       2       1

最简单的方法是
df[df$status1!=df$status2,]
这比我下面的解决方案简单得多。谢谢<代码>df$status1!=df$status2提供逻辑输出。
df[df$status1 != df$status2,]

ID status1 status2
4  4       1       2
5  5       2       1