2017-03-22 3 views
0

Ich habe zwei Datenrahmen, die aus CSV-Dateien geladen werden. Grundsätzlich aus verschiedenen Umgebungen, aber ähnlichen Formaten/Spalten. Sie können Unterschiede in Zeilen/Werten haben. Ich möchte die Unterschiede finden und in einem neuen Datenrahmen erstellen. Auch beide Datenrahmen haben die gleiche Reihenfolge. Ich habe 100 Dateien zu vergleichen. Danke im Voraus.Melden Sie die Unterschiede zwischen zwei Datenrahmen in R

Dataframe1: 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"] 

Dataframe2: 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"] 

Ich möchte die Unterschiede in dritten Datenrahmen zeigen

Dataframe3: 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 

Ich habe versucht, die folgenden Funktionen und Methoden, aber did'nt Training

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}) 

Antwort

0

Ein guter Weg, diese Übersicht zeigt die setdiff() Funktion zu tun, whicht die beiden Datenrahmen als Argumente nimmt.

newdata <- setdiff(df1, df2) 
Verwandte Themen