Vergleich zweier Datensätze

Wie erweitere ich R um eigene Funktionen oder Pakete? Welches Paket ist passend für meine Fragestellung?

Moderatoren: EDi, jogo

Antworten
Ahmouri

Vergleich zweier Datensätze

Beitrag von Ahmouri »

Hallo Zusammen,

da ich mit der einen Erweiterung meines Tools nicht weiterkam, hier eine andere Idee, mit der ich bereits angefangen habe.

Um folgenden Dateien geht es und ich hoffe, dass ich diesmal alles richtig darstellen kann, damit ihr mir besser weiterhelfen könnt.

Code: Alles auswählen

> str(real_city)
'data.frame':	13114 obs. of  4 variables:
 $ osm_id    : Factor w/ 11016 levels "1015094","1015095",..: 549 2240 9548 9548 9548 9548 9548 9548 9548 9548 ...
 $ ort       : Factor w/ 10452 levels "","Öhningen",..: 12 12 13 13 13 13 13 13 13 13 ...
 $ plz       : int  78267 54298 52062 52064 52066 52068 52070 52072 52074 52076 ...
 $ bundesland: Factor w/ 17 levels "","Baden-Württemberg",..: 2 12 11 11 11 11 11 11 11 11 ...
 

Code: Alles auswählen

> str(my_city)
'data.frame':	7 obs. of  2 variables:
 $ costumer_zipcodes: int  53666 53123 48455 50667 12345 87356 10234
 $ costumer_cities  : Factor w/ 7 levels "Aachen","Berlin",..: 1 3 7 6 5 4 2

in beiden Dateien sind Städtenamen plus Postleitzahl vorhanden. Aber: im Datensatz my_city sind Fehler eingebaut. Die Städtenamen passen nicht zu den PlZen. Um dies zu überprüfen wäre es doch sinnvoll eine IF Schleife einzubauen nachdem man über Filter oder which die gleichen Städtenamen ausgemacht hat,oder?

VG Ahmouri
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Vergleich zweier Datensätze

Beitrag von Athomas »

Du solltest zunächst mal Deine Datensätze "richtig" einlesen: vielleicht mit dem an anderer Stelle hier im Forum als anfängerfreundlich beschriebenen package "rio"!?
Ahmouri

Re: Vergleich zweier Datensätze

Beitrag von Ahmouri »

Hallo Athomas,

das letzte Mal hieß es, dass ich es mit str() machen soll. Aber hier nochmal mit Rio und dem Befehl Import()

Code: Alles auswählen


> import("zuordnung_plz_ort.csv")
      osm_id                           ort   plz             bundesland
1    1104550                          Aach 78267     Baden-Württemberg
2    1255910                          Aach 54298        Rheinland-Pfalz
3      62564                        Aachen 52062    Nordrhein-Westfalen
4      62564                        Aachen 52064    Nordrhein-Westfalen
5      62564                        Aachen 52066    Nordrhein-Westfalen
6      62564                        Aachen 52068    Nordrhein-Westfalen
7      62564                        Aachen 52070    Nordrhein-Westfalen
8      62564                        Aachen 52072    Nordrhein-Westfalen
9      62564                        Aachen 52074    Nordrhein-Westfalen
10     62564                        Aachen 52076    Nordrhein-Westfalen
11     62564                        Aachen 52078    Nordrhein-Westfalen
12     62564                        Aachen 52080    Nordrhein-Westfalen
13    915486                         Aalen 73430     Baden-Württemberg
14    915486                         Aalen 73431     Baden-Württemberg
15    915486                         Aalen 73432     Baden-Württemberg
16    915486                         Aalen 73433     Baden-Württemberg
17    915486                         Aalen 73434     Baden-Württemberg
18    413109                     Aarbergen 65326                 Hessen
19    448770                    Aasbüttel 25560     Schleswig-Holstein
20    158409                      Abenberg 91183                 Bayern
21    956651                     Abensberg 93326                 Bayern
22   1244276                    Abentheuer 55767        Rheinland-Pfalz
23   1015097                       Absberg 91720                 Bayern
24    410485                       Abstatt 74232     Baden-Württemberg
25   2389084                 Abtsbessingen 99713             Thüringen
26    915445                    Abtsgmünd 73453     Baden-Württemberg
27    537061                   Abtsteinach 69518                 Hessen
28    283691                      Abtswind 97355                 Bayern
29   1244067                     Abtweiler 55568        Rheinland-Pfalz
30   2806596                       Achberg 88147     Baden-Württemberg
31    452972                        Achern 77855     Baden-Württemberg
32   1182036                         Achim 28832          Niedersachsen
33    959175                      Achslach 94250                 Bayern
34   2801019                    Achstetten 88480     Baden-Württemberg
35    548033                          Acht 56729        Rheinland-Pfalz
36   1246405                   Achtelsbach 55767        Rheinland-Pfalz
37    548502                    Achterwehr 24239     Schleswig-Holstein
38   1417214                       Achtrup 25917     Schleswig-Holstein
39   2825844                      Adelberg 73099     Baden-Württemberg
40   1399100                     Adelebsen 37139          Niedersachsen
41   1796300                 Adelheidsdorf 29352          Niedersachsen
42    915446               Adelmannsfelden 73486     Baden-Württemberg
43    943553                    Adelschlag 85111                 Bayern
44   1016518                     Adelsdorf 91325                 Bayern
45    403733                     Adelsheim 74740     Baden-Württemberg
46    534077                    Adelshofen 91587                 Bayern
47    933549                    Adelshofen 82276                 Bayern
48    452562                     Adelsried 86477                 Bayern
49    163655                   Adelzhausen 86559                 Bayern
50   1060416                        Adenau 53518        Rheinland-Pfalz
51   1246784                      Adenbach 67742        Rheinland-Pfalz
52   1363679                   Adenbüttel 38528          Niedersachsen
53   1392133                      Adendorf 21365          Niedersachsen
54    191347                      Adlkofen 84166                 Bayern
55    391131      Admannshagen-Bargeshagen 18211 Mecklenburg-Vorpommern
56    443610                Adorf/Vogtland  8626                Sachsen
57    448016                Aebtissinwisch 25572     Schleswig-Holstein
58   1169356                        Aerzen 31855          Niedersachsen
59    405290                  Affalterbach 71563     Baden-Württemberg
60    393482                        Affing 86444                 Bayern
61   1992924                  Affinghausen 27257          Niedersachsen
62   1171872                        Affler 54689        Rheinland-Pfalz
63    445842                   Agathenburg 21684          Niedersachsen
64    448765                     Agethorst 25560     Schleswig-Holstein
65    403747                Aglasterhausen 74858     Baden-Württemberg
66    191355                          Aham 84168                 Bayern
67    162877                         Ahaus 48683    Nordrhein-Westfalen
68    965596                       Ahausen 27367          Niedersachsen
69   1408072                       Ahlbeck 17375 Mecklenburg-Vorpommern
70   1808860                        Ahlden 29693          Niedersachsen
71    548612            Ahlefeld-Bistensee 24358     Schleswig-Holstein
72    152285                         Ahlen 59227    Nordrhein-Westfalen
73    152285                         Ahlen 59229    Nordrhein-Westfalen
74    446435                    Ahlerstedt 21702          Niedersachsen
75   2409456                      Ahlsdorf  6313         Sachsen-Anhalt
76   1273264                     Ahlstädt 98553             Thüringen
77    530915                       Ahnatal 34292                 Hessen
78   1145086                        Ahneby 24996     Schleswig-Holstein
79   1797682                      Ahnsbeck 29353          Niedersachsen
80   1169362                        Ahnsen 31708          Niedersachsen
81    959667                      Aholfing 94345                 Bayern
82    959803                      Aholming 94527                 Bayern
83    401808                         Ahorn 74744     Baden-Württemberg
84    956872                         Ahorn 96482                 Bayern
85   1071012                      Ahorntal 95491                 Bayern
86   1021829                     Ahrbrück 53506        Rheinland-Pfalz
87    382442                    Ahrensbök 23623     Schleswig-Holstein
88    453746                    Ahrensburg 22926     Schleswig-Holstein
89   1318349                   Ahrensfelde 16356            Brandenburg
90    374204            Ahrenshagen-Daskow 18320 Mecklenburg-Vorpommern
91   1406816                   Ahrenshöft 25853     Schleswig-Holstein
92    374244                    Ahrenshoop 18347 Mecklenburg-Vorpommern
93   1406979                    Ahrenviöl 25885     Schleswig-Holstein
94   1406977                Ahrenviölfeld 24896     Schleswig-Holstein
95   1406977                Ahrenviölfeld 25885     Schleswig-Holstein
96    161897                       Aichach 86551                 Bayern
97    958122               Aicha vorm Wald 94529                 Bayern
98   2792688                    Aichelberg 73101     Baden-Württemberg
99    935172                        Aichen 86479                 Bayern
100   943754                    Aichhalden 78733     Baden-Württemberg
101  2806735                   Aichstetten 88317     Baden-Württemberg
102  2796466                       Aichtal 72631     Baden-Württemberg
103  2792901                      Aichwald 73773     Baden-Württemberg
104   958099                     Aidenbach 94501                 Bayern
105   388769                     Aidhausen 97491                 Bayern
106   722153                     Aidlingen 71134     Baden-Württemberg
107   956660                     Aiglsbach 84089                 Bayern
108   535001                    Ailertchen 56459        Rheinland-Pfalz
109   162453                      Aindling 86447                 Bayern
110   941761                       Ainring 83404                 Bayern
111   956819                     Aislingen 89344                 Bayern
112   959661                    Aiterhofen 94330                 Bayern
113  1244183                        Aitern 79677     Baden-Württemberg
114  2806736                       Aitrach 88319     Baden-Württemberg
115   447974                       Aitrang 87648                 Bayern
116  1329407                   Aken (Elbe)  6385         Sachsen-Anhalt
117  1329407                   Aken (Elbe)  6386         Sachsen-Anhalt
118  1284770                         Aland 39615         Sachsen-Anhalt
119  2186953                     Albaching 83544                 Bayern
120  2786234                      Albbruck 79774     Baden-Württemberg
121   423032                    Albersdorf 25767     Schleswig-Holstein
122  2778355                    Albersdorf  7646             Thüringen
123  2792707                  Albershausen 73095     Baden-Württemberg
124  1252774                  Albersweiler 76857        Rheinland-Pfalz
125   283563                  Albertshofen 97320                 Bayern
126  1246578                      Albessen 66871        Rheinland-Pfalz
127  1248583                         Albig 55234        Rheinland-Pfalz
128  1254398            Albisheim (Pfrimm) 67308        Rheinland-Pfalz
129  1471102                     Albsfelde 23909     Schleswig-Holstein
130  2779017                      Albstadt 72458     Baden-Württemberg
131  2779017                      Albstadt 72459     Baden-Württemberg
132  2779017                      Albstadt 72461     Baden-Württemberg
133   158407                    Aldenhoven 52457    Nordrhein-Westfalen
134   958104                    Aldersbach 94501                 Bayern
135  1231975                      Aldingen 78554     Baden-Württemberg
136   962467                      Alerheim 86733                 Bayern
137  1015138                      Alesheim 91793                 Bayern
138   568238                   Aletshausen 86480                 Bayern
139  1269727                           Alf 56859        Rheinland-Pfalz
140   401623                       Alfdorf 73553     Baden-Württemberg
141   401623                       Alfdorf 73655     Baden-Württemberg
142   966167                        Alfeld 91236                 Bayern
143  1168905                Alfeld (Leine) 31061          Niedersachsen
144  1821138                     Alfhausen 49594          Niedersachsen
145  1269816                        Alflen 56828        Rheinland-Pfalz
146  1079020                      Alfstedt 27432          Niedersachsen
147   172095                        Alfter 53347    Nordrhein-Westfalen
148    91859                   Algermissen 31191          Niedersachsen
149   238961                        Alheim 36211                 Hessen
150   546611                         Alken 56332        Rheinland-Pfalz
151   396563                   Alkersleben 99310             Thüringen
152  1428588                      Alkersum 25938     Schleswig-Holstein
153  1245131                     Allenbach 55758        Rheinland-Pfalz
154   443591                     Allendorf 35108                 Hessen
155   539713                     Allendorf 56370        Rheinland-Pfalz
156  1273287                     Allendorf  7426             Thüringen
157   418611             Allendorf (Lumda) 35469                 Hessen
158  1244219                     Allenfeld 55595        Rheinland-Pfalz
159  2784841                    Allensbach 78476     Baden-Württemberg
160   158406                    Allersberg 90584                 Bayern
161    30015                  Allershausen 85391                 Bayern
162  2801344                   Alleshausen 88422     Baden-Württemberg
163   933491                        Alling 82239                 Bayern
164   445854                 Allmannshofen 86695                 Bayern
165  2801315                Allmannsweiler 88348     Baden-Württemberg
166  2803631                  Allmendingen 89604     Baden-Württemberg
167   400939            Allmersbach im Tal 71573     Baden-Württemberg
168  2397385                      Allstedt  6542         Sachsen-Anhalt
169  1567454                       Almdorf 25821     Schleswig-Holstein
170   418894                    Almersbach 57610        Rheinland-Pfalz
171    58618                         Alpen 46519    Nordrhein-Westfalen
172   453150                      Alpenrod 57642        Rheinland-Pfalz
173   453150                      Alpenrod 57647        Rheinland-Pfalz
174  2411295                    Alperstedt 99195             Thüringen
175   935834                    Alpirsbach 72275     Baden-Württemberg
176   532368                       Alsbach 56237        Rheinland-Pfalz
177   452415             Alsbach-Hähnlein 64665                 Hessen
178   157993                       Alsdorf 52477    Nordrhein-Westfalen
179   422316                       Alsdorf 57518        Rheinland-Pfalz
180  1163504                       Alsdorf 54668        Rheinland-Pfalz
181  1253873                        Alsenz 67821        Rheinland-Pfalz
182   418327                       Alsfeld 36304                 Hessen
183  1248686                       Alsheim 67577        Rheinland-Pfalz
184  1332300                      Alsleben  6425         Sachsen-Anhalt
185  2792885                       Altbach 73776     Baden-Württemberg
186  1157542                  Alt Bennebek 24848     Schleswig-Holstein
187   394333                     Alt Bukow 18233 Mecklenburg-Vorpommern
188  1322902                    Altdöbern  3229            Brandenburg
189   190875                       Altdorf 84032                 Bayern
190   722061                       Altdorf 71155     Baden-Württemberg
191   902680                       Altdorf 72655     Baden-Württemberg
192  1252492                       Altdorf 67482        Rheinland-Pfalz
193   966164         Altdorf bei Nürnberg 90518                 Bayern
194   548573                Alt Duvenstedt 24782     Schleswig-Holstein
195   548573                Alt Duvenstedt 24791     Schleswig-Holstein
196   548573                Alt Duvenstedt 24811     Schleswig-Holstein
197  1438081                     Altefähr 18573 Mecklenburg-Vorpommern
198   964628                 Alteglofsheim 93087                 Bayern
199   168547                        Altena 58762    Nordrhein-Westfalen
200  1021826                      Altenahr 53505        Rheinland-Pfalz
201  1244034                  Altenbamberg 55585        Rheinland-Pfalz
202   148072                    Altenbeken 33184    Nordrhein-Westfalen
203   455484                     Altenberg  1773                Sachsen
204   455484                     Altenberg  1778                Sachsen
205  2458400                    Altenberga  7768             Thüringen
206   155779                    Altenberge 48341    Nordrhein-Westfalen
207  1273353                  Altenbeuthen  7338             Thüringen
208   394512                     Altenbuch 97901                 Bayern
209  1263721                     Altenburg  4600             Thüringen
210   537133                     Altendiez 65624        Rheinland-Pfalz
211   962080                     Altendorf 92540                 Bayern
212  1077529                     Altendorf 96146                 Bayern
213  1263905                     Altenfeld 98701             Thüringen
214  1246622                     Altenglan 66885        Rheinland-Pfalz
215  2876347                  Altengottern 99991             Thüringen
216  1427896                    Altenhagen 17091 Mecklenburg-Vorpommern
217  1286652                   Altenhausen 39343         Sachsen-Anhalt
218   554562                      Altenhof 24340     Schleswig-Holstein
219  1424152                      Altenhof 17209 Mecklenburg-Vorpommern
220   554747                     Altenholz 24161     Schleswig-Holstein
221  1252363                  Altenkirchen 66903        Rheinland-Pfalz
222  1437950                  Altenkirchen 18556 Mecklenburg-Vorpommern
223   418895     Altenkirchen (Westerwald) 57610        Rheinland-Pfalz
224   382409                   Altenkrempe 23730     Schleswig-Holstein
225  1026858                 Altenkunstadt 96264                 Bayern
226   941639         Altenmarkt an der Alz 83352                 Bayern
227  1460228                 Altenmedingen 29575          Niedersachsen
228   447188                     Altenmoor 25335     Schleswig-Holstein
229   452561                 Altenmünster 86450                 Bayern
230   374185                    Altenpleen 18445 Mecklenburg-Vorpommern
231  2796467                     Altenriet 72657     Baden-Württemberg
232   450108                    Altenstadt 63674                 Hessen
233   936742                    Altenstadt 86972                 Bayern
234   941073                    Altenstadt 89281                 Bayern
235  1059433    Altenstadt an der Waldnaab 92665                 Bayern
236  1174479                    Altensteig 72213     Baden-Württemberg
237   964624                    Altenthann 93177                 Bayern
238  1427888                  Altentreptow 17087 Mecklenburg-Vorpommern
239  1204726                    Alterkülz 56288        Rheinland-Pfalz
240  2829503                    Altersbach 98587             Thüringen
241   180669                    Altertheim 97237                 Bayern
242   191496                 Altfraunhofen 84169                 Bayern
243   933521                 Althegnenberg 82278                 Bayern
244  2802280                       Altheim 88499     Baden-Württemberg
245  2803632                       Altheim 89605     Baden-Württemberg
246  2790973                 Altheim (Alb) 89174     Baden-Württemberg
247   933498                  Althengstett 75382     Baden-Württemberg
248  1250687                   Althornbach 66484        Rheinland-Pfalz
249   400938                     Althütte 71566     Baden-Württemberg
250  1318343                Althüttendorf 16247            Brandenburg
 [ reached getOption("max.print") -- omitted 1836 rows ]
 
VG Ahmouri
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Vergleich zweier Datensätze

Beitrag von Athomas »

das letzte Mal hieß es, dass ich es mit str() machen soll.
Da musst Du was falsch verstanden haben - str steht für "structure" und zeigt Dir die interne Struktur eines R-Objekts an :? !

Code: Alles auswählen

Aasbüttel
Oho - da hätte ich gehofft, dass rio das richtig hinkriegt...

Was ist mit den Datensätzen, sind die geheim?
Ahmouri

Re: Vergleich zweier Datensätze

Beitrag von Ahmouri »

Achso, die my_city Datei hatte ich vergessen.

Code: Alles auswählen

> import("Beispiel.csv")
[1] costumer_zipcodes      costumer_cities\r53666 Aachen\r53123          Bonn\r48455            Rheine\r50667         
[6] Koeln\r12345           Hamburg\r87356         Dresden\r10234         Berlin     
hm, das wird komisch angezeigt.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Vergleich zweier Datensätze

Beitrag von EDi »

Ich würde ja mit data.table:fread einlesen, aber das trägt hier nichts bei.

Zuerst würde ich alle Faktoren in Charakter umwandeln(oder besser direkt beim einlesen darauf verzichten).
Wenn der Zeichensatz, dann auch noch stimmt kann man an das Problem gehen:

Ich würde einen join über die zipcoded machen und danach alles rauswerfen was gleich ist.Für den Rest muss man sich dann entscheiden was der richtige Name ist.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Vergleich zweier Datensätze

Beitrag von Athomas »

Ich würde ja mit data.table:fread einlesen, aber das trägt hier nichts bei.
So ist es - rio benutzt bei .csv-Dateien (oder besser: bei Dateien mit der Endung .csv) genau fread - damit es auch schön schnell wird!

Da im Bereich der csv-Dateien großer Wildwuchs herrscht (Namen sind Schall und Rauch), nehme ich an, dass die vorliegenden Formatierungen nicht in die üblichen Schemata passen.
Aber wie gesagt, das ist ein Blick in die Glaskugel, ohne die Originaldaten kann man (bzw. ich) nichts Fundiertes sagen...
Ahmouri

Re: Vergleich zweier Datensätze

Beitrag von Ahmouri »

@Athomas. Verzeih mir, wenn ich das nicht richtig aufgefasst habe. Ich bin aber im Anfängerstadium und gebe dies auch zu. Ich versuche mich natürlich so gut wie es geht zu informieren, aber kann dennoch nicht alles auf die schnelle lernen.

Danke EDi,

ist das der dplyr package?
Müsste ich dann anti.join verwenden, um zu filtern?
Meine Idee war es erstmal die Städte zu vergleichen und daraufhin die "matchings" dann in Bezug auf die PLZ vergleichen. Ist das der richtige Gedanke oder geht es einfacher?

VG Ahmouri
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Vergleich zweier Datensätze

Beitrag von EDi »

ist das der dplyr package
Nicht zwingend, geht auch mit base-r oder z. B. data.table
Müsste ich dann anti.join verwenden, um zu filtern?
Nicht zwingend, wäre aber direkter.
Meine Idee war es erstmal die Städte zu vergleichen und daraufhin die "matchings" dann in Bezug auf die PLZ vergleichen. Ist das der richtige Gedanke oder geht es einfacher?
Ich wäre es vermutlich andersrum angegangen. PLZ als wahr ansehen und daran matchen.

Du kannst auch einen fuzzyjoin probieren und die die Levenshtein distanz berechnen um zu sehen wie unähnlich die matches sind um z. B. einen threshold zu setzen.
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten