我有以下数据框:
df1 <- data.frame(row.names=1:4, id=c(1, 2, 3, 4), var2=c(10,20,30,40))
df2 <- data.frame(row.names=1:3, id=c(1, 2, 4), var2=c(10,20,40))
我正在寻找一个命令来比较两个数据帧的id
列,并返回第二个数据帧中缺失的记录的row.names:
如果你能帮助我,我将不胜感激。
答案 0 :(得分:1)
您应该查看%in%
:
> which(!df1$id %in% df2$id)
[1] 3
> rownames(df1[!df1$id %in% df2$id, ])
[1] "3"
> df1[!df1$id %in% df2$id, ]
id var2
3 3 30
答案 1 :(得分:0)
你可以试试,
df1 <- data.frame(row.names=1:4, id=c(1, 2, 3, 4), var2=c(10,20,30,40))
df2 <- data.frame(row.names=1:3, id=c(1, 2, 4), var2=c(10,20,40))
row.names(df1[!df1$id %in% df2$id,])