繁体   English   中英

用字符减去R中的两个data.frame

[英]Substract two data.frames in R, by characters

我有250000+行的数据集。

三列:国家/地区,测试和测试结果(字符,字符,数字)

下一行代码将我的数据减少到102388行。

sub.df1 <- df <- df[!duplicated(df), ]

这行代码将我的数据减少到102339行。

sub.df2 <- unique(df[,c('country','test')])

现在我想看这49行。 这些行包含相同的国家/地区和测试,但具有不同的test_result。(在sub.df1中)

我试图减去sub.df1 [1:2]-sub.df2 = sub.df3在这里,sub.df2是49个国家和地区的组合,在sub.df1中出现的次数多于一次。

还尝试了其他一些方法来达到我的目标; merge(),match(),table(),rle(),但听起来都不适合我的问题。

亲切的问候,布莱希特

如果您只是想获得差异,可以使用duplicated

df[duplicated(df[, c('country', 'test')]), ]

如果您还想获取所有重复项,则可以使用例如data.table

require(data.table)
setDT(df)
setkeyv(df, c('country', 'test'))
df[df[duplicated(df[, list(country, test)]), list(country, test)], ]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM