比较两个具有不同行数的数据帧中的两列[R]

时间:2015-02-23 08:41:14

标签: r dataframe

我有以下数据框:

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: 如果你能帮助我,我将不胜感激。

2 个答案:

答案 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,])