我有两个从 csv 文件加载的数据框。基本上来自不同的环境但格式/列相似,它们的行/值可能有所不同。我想找到差异并在新的数据框中创建它们。两个数据框也将具有相同的顺序。我有 100 个要比较的文件。提前致谢。
数据框1:df1test
product | country | partner | value
------------------------------------
prdct1 | china | part1 | ["563,45"]
prdct2 | UK | part4 | ["52,455"]
prdct3 | USA | part2 | ["563,45"]
prdct4 | ITALY | part6 | ["674,45"]
prdct5 | UK | part7 | ["563,578"]
数据框2:df1prod
product | country | partner | value
------------------------------------
prdct1 | china | part1 | ["563,45"]
prdct2 | UK | part4 | ["247,455"]
prdct3 | USA | part41 | ["563,45"]
prdct4 | UK | part6 | ["0,45"]
我想显示第三个数据框中的差异
数据框 3:dfDifference
Env:test Env:prod
product| country|partner| value product| country | partner | value
------------------------------------ -----------------------------------
prdct2 | UK |part4 | ["52,455"] prdct2 |UK |part4 | ["247,455"]
prdct3 | USA |part2 | ["563,45"] prdct3 |USA|part41 | ["563,45"]
prdct4 | ITALY |part6 | ["674,45"] prdct4 |UK |part6 | ["0,45"]
prdct5 | UK |part7 | ["563,578"] Not Available
我尝试了以下功能和方法但没有锻炼
Compare function
comptest<-compare(df1test,df1prod,allowAll = TRUE)
Variable combine
df1test$Varcomp <- apply(df1test,1,paste,collapse=';')
df1prod$Varcomp <- apply(df1prod,1,paste,collapse=';')
aabb<-sapply(df1prod$Varcomp,FUN = function(x){x==df1test$Varcomp})
一个很好的方法是setdiff()
函数,它将两个数据帧作为参数。
newdata <- setdiff(df1, df2)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句