我有一个包含两列的数据框:
x <- c(1, 2, 3, 4, NA, 5, 6)
y <- c(1, 2, 4, 5, 0, 5, 6)
my.df <- data.frame(x, y)
我只想保留 x != y 的行。
我做的是这样的:
my.df <- subset(my.df, x != y)
我的预期是:
x y
3 4
4 5
NA 0
我得到的是
x y
3 4
4 5
这是因为,按照一个奇怪的约定,NA != 0
是 NA
。
我真的想将 NA 保留在子集中,因为我正在寻找列之间的差异。
如何做到这一点?
最佳答案
这也可以。 只选择 x 和 y 的减法不为零的行
my.df[!((x-y) %in% 0 ),]
关于r - 比较包含 NA 的数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46420284/