我有一个数据框,我想确认每个条目的两列匹配。所以我试过了:
> nrow(subset(df, col.a!=col.b))
[1] 0
这对我来说似乎很好,但后来我尝试比较数据帧中的条目总数。似乎这些数字应该相等,但它们不是:
nrow(subset(df, col.a==col.b))
[1] 3443
nrow(df)
[1] 3453
知道这里发生了什么吗?为什么看起来这个子集掉了10个条目?非常感谢你的帮助。
另外,我对此很新,所以如果有更好的方法来检查这两列是否匹配,请告诉我。
答案 0 :(得分:0)
subset
会自动删除标准为NA
的行。它应该总是(?)是
nrow(d)
和
nrow(subset(d, col.a!=col.b))+
nrow(subset(d, col.a==col.b))+
nrow(subset(d, is.na(col.a) | is.na(col.b)))
应该是平等的。