我合并了两个数据集,但发现一小撮记录对某种疾病状态有不同的编码结果。 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
对于status1和status2,第4行和第5行应该具有相同的结果。我试图生成一个包含所有不一致的表格
ID status1 status2
4 4 1 2
5 5 2 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
我不确定为什么它只给我ID而不是status1和status2。
答案 0 :(得分:0)
只是这个?
df[df$status1 != df$status2,]
ID status1 status2
4 4 1 2
5 5 2 1
答案 1 :(得分:-1)
啊,通过将ifelse与子集
结合起来计算出来> discordant <- subset(df, ifelse(df$status1 != df$status2,TRUE, FALSE))
> discordant
ID status1 status2
4 4 1 2
5 5 2 1