比较两个来自不同数量的行[R]的两个数据帧列
问题描述:
,我有以下的数据帧:比较两个来自不同数量的行[R]的两个数据帧列
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: 如果你能帮助我,我将不胜感激。
答
你应该看看%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
答
你可以试试,
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,])
看那'%在%'功能。 – A5C1D2H2I1M1N2O1R2T1 2015-02-23 08:42:10