Datenimport und deutsche Umlaute

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
benne
Beiträge: 5
Registriert: Mo Okt 08, 2018 1:42 pm

Datenimport und deutsche Umlaute

Beitrag von benne » Fr Nov 09, 2018 12:58 pm

Hallo allerseits,

im Augenblick muss ich eine Datei mit fester Spaltenbreite in R importieren.
Nach einigem Testen und Recherchieren verwende ich dazu die Funktion read_fwf aus dem readr-Paket.
Die ist ordentlich schnell und einfach zu verwenden.

Probleme bereitet mir jetzt aber ein Feld, in dem Ortsnamen stehen, die auch deutsche Umlaute enthalten.
Laut Windows-Editor ist die Datei "UTF-8-UNIX" kodiert.
Wenn ich die jetzt per read_fwf einlese, werden alle Felder nach dem Ortsnamen, die einen Umlaut enthalten, um ein Zeichen versetzt.

In meiner Ursprungsdatei steht beispielsweise:

Code: Alles auswählen

...Herne                                    mGS...
...Lübeck                                   wLD...
Aus diesem Datenfragment sollten die drei Felder "Ortsname", "Geschlecht" und "Familienstand" gefüllt werden.
Im ersten Fall funktioniert das auch, und ich erhalte als Ortsname "Herne", für Geschlecht "m" und beim Familienstand ist es eben "GS".
Beim zweiten Datensatz bleibt das Merkmal Geschlecht leer und dafür steht im Familienstand "wL", während das "D" noch wieder ein Feld "weiterrutscht".

Langer Rede, kurzer Sinn.
Kann ich die Kodierung für Dateioperationen anpassen und wenn ja, wie und wo?

Vielen Dank schonmal vorab
Benne

Nachtrag:

Ich hab' jetzt mal ausprobiert, was passiert, wenn ich mit UltraEdit den Zeichensatz auf "DOS" setze.
Dann sieht im Editor alles gut aus, die Datei wird von R per read_fwf insoweit korrekt eingelesen, dass alle Spalten an der korrekten Stelle landen.
Allerdings zeigt mir R jetzt die Umlaute nicht mehr richtig an.
Für ein "ü" steht da dann "<fc>" und aus einem "ä" wird "<e4>".

Ist das jetzt nur ein Anzeigeproblem von R bzw. RStudio?

Nebenbei bemerkt, arbeite ich hier unter Windows 7.
Ein Freund ist jemand, der sich deinen Müll anhört, dir sagt dass es Müll ist und trotzdem weiter zuhört.
Robin Williams

Benutzeravatar
EDi
Beiträge: 664
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Datenimport und deutsche Umlaute

Beitrag von EDi » Fr Nov 09, 2018 7:25 pm

Ich bin zwar kein readr Nutzer aber schau dir mal ?
readr::locale() an.

https://cran.r-project.org/web/packages ... cales.html

Und dort dann das encoding setzen. Unter windoze ist das oft "latin-1", soweit ich mich erinnere.
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.

benne
Beiträge: 5
Registriert: Mo Okt 08, 2018 1:42 pm

Re: Datenimport und deutsche Umlaute

Beitrag von benne » Sa Nov 10, 2018 9:52 pm

Oh Mann, wenn ich Montag wieder im Büro bin, probier' ich das direkt aus.
Und dann muss ich mir direkt eine neue Brille besorgen, weil ich den Befehl offensichtlich komplett übersehen habe. :oops:

Vielen Dank schonmal für die Antwort.

Ganz nebenbei gefragt, wenn du sagst du bist kein readr-Nutzer:
Was kannst du denn empfehlen, um Dateien mit fester Spaltenlänge einzulesen?

Schönen Gruß
Benne
Ein Freund ist jemand, der sich deinen Müll anhört, dir sagt dass es Müll ist und trotzdem weiter zuhört.
Robin Williams

Benutzeravatar
EDi
Beiträge: 664
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Datenimport und deutsche Umlaute

Beitrag von EDi » So Nov 11, 2018 8:16 am

Ganz nebenbei gefragt, wenn du sagst du bist kein readr-Nutzer:
Was kannst du denn empfehlen, um Dateien mit fester Spaltenlänge einzulesen?
Hab ich nicht so oft, aber out-of-the-box kommt R mit read.fwf(), welches auch encodings handhaben kann. Ist aber nicht besonders flott. Ich mag data.table::fread, aber das brauch für fixed-width einen kleinen Hack, siehe hier https://stackoverflow.com/questions/247 ... idth-files
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.

benne
Beiträge: 5
Registriert: Mo Okt 08, 2018 1:42 pm

Re: Datenimport und deutsche Umlaute

Beitrag von benne » Mo Nov 12, 2018 4:12 pm

Man reiche mir eine neue Brille!

Dein Tipp mit der locale-Funktion war der richtige Hinweis, EDi.
Die Kodierung hier ist zwar "Windows-1250", aber immerhin bleibt jetzt die Satzstruktur erhalten.

Unschön ist jetzt nur, dass die Umlaute in RStudio nicht mehr korrekt angezeigt werden
Statt eines 'ü' steht da jetzt "<fc>".
Da ich den Klartextnamen aber über ein externes Programm in Schlüsselwerte übersetzen lasse mit denen ich weiterarbeite, fällt das nicht weiter ins Gewicht.

Vielen Dank nochmal.
Ein Freund ist jemand, der sich deinen Müll anhört, dir sagt dass es Müll ist und trotzdem weiter zuhört.
Robin Williams

Athomas
Beiträge: 95
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Datenimport und deutsche Umlaute

Beitrag von Athomas » Mo Nov 12, 2018 5:38 pm

Gibt es einen Grund, warum Du nicht ein paar Zeilen Deiner Einlesedatei (bei denen der Fehler aber noch auftritt) hier als Datei angehängt hast?
Ich könnte mir vorstellen, dass da noch mehr geht...
Glaube nicht alles, was im Internet geschrieben wird - bloss weil da ein Name und ein Zitat stehen! (Immanuel Kant)

bigben
Beiträge: 715
Registriert: Mi Okt 12, 2016 9:09 am

Re: Datenimport und deutsche Umlaute

Beitrag von bigben » Mo Nov 12, 2018 8:09 pm

Vielleicht RStudio >> Tools >> Global Options... >> Code >> Saving >> Default text encoding :?:
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

Benutzeravatar
EDi
Beiträge: 664
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Datenimport und deutsche Umlaute

Beitrag von EDi » Mo Nov 12, 2018 9:30 pm

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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste