提问人:Rara 提问时间:3/2/2023 更新时间:3/2/2023 访问量:189
如何在 R 中使用 diffdf 包比较两个数据集?
How to compare two data sets using the diffdf package in R?
问:
我需要根据两列中的值作为键来比较一些巨大的数据集对。 每对数据确实是旧版本的数据和更新版本。因此,有些 ID 不匹配。我使用 semi_join 根据两个数据集中存在的 ID 对数据进行子集化(我不确定是否有必要!
df1_subset<- semi_join(df1, df2, by = c('ID1', 'ID2'))
df2_subset<- semi_join(df2, df1, by = c('ID1', 'ID2'))
我尝试使用diffdf包。但是我收到以下错误。
Error in diffdf(df1_subset, df2_subset, keys = "ID1", "ID2") :
BY variables in BASE do not result in unique observations
谁能帮我找出问题所在?由于数据非常大,我不确定如何在此处提供示例。如果您有任何其他解决方案,我将不胜感激。
答:
0赞
r2evans
3/2/2023
#1
keys = "ID1", "ID2"
将值分配给名为 的参数,并将未命名的参数分配给第三个未命名的参数(前两个是您的两个子集框架),该参数恰好是(应该是合乎逻辑的)。"ID1"
keys=
"ID2"
suppress_warnings=
我认为您需要将两个 ID 包装在 .c(...)
diffdf(df1_subset, df2_subset, keys = c("ID1", "ID2"))
评论