Ungewollte Zeichen in Daten
Ungewollte Zeichen in Daten
Hallo!
Ich habe meine Daten als dataframe eingeladen aber hinter jedem Wert schleicht sich ein "c2" ein, mal mit . oder <> davor/dahinter, und ich habe keine Ahnung wieso. Kann mir da jemand helfen? Foto als Beispiel für mein Problem ist im Anhang.
Liebe Grüße,
MarcticFox
Ich habe meine Daten als dataframe eingeladen aber hinter jedem Wert schleicht sich ein "c2" ein, mal mit . oder <> davor/dahinter, und ich habe keine Ahnung wieso. Kann mir da jemand helfen? Foto als Beispiel für mein Problem ist im Anhang.
Liebe Grüße,
MarcticFox
- Dateianhänge
-
- Problem_Rstudio.PNG (7.71 KiB) 791 mal betrachtet
Re: Ungewollte Zeichen in Daten
Hallo MarcticFox,
willkommen im Forum!
Vielleicht kannst Du auch die Textdatei (oder die ersten Zeilen davon) liefern, aus der Du die Daten gelesen hast.
Meiner Meinung nach, sollte das Problem gleich beim Einlesen behandelt werden (evtl. sep= anders setzen).
Gruß, Jörg
willkommen im Forum!
Kannst Du bitte zeigen, wie (mit welchem Code) Du die Daten eingelesen hast?MarcticFox hat geschrieben: ↑Mi Apr 18, 2018 2:21 pm Hallo!
Ich habe meine Daten als dataframe eingeladen aber hinter jedem Wert schleicht sich ein "c2" ein, mal mit . oder <> davor/dahinter, und ich habe keine Ahnung wieso.
Vielleicht kannst Du auch die Textdatei (oder die ersten Zeilen davon) liefern, aus der Du die Daten gelesen hast.
Meiner Meinung nach, sollte das Problem gleich beim Einlesen behandelt werden (evtl. sep= anders setzen).
Gruß, Jörg
Re: Ungewollte Zeichen in Daten
Hallo Jörg!
Na klar!Code war folgender:
dat1 <- read.table("Rohdaten/MA_EisfuchsData20180416_0851.txt",skip = 1, sep="§", header = T, encoding="UTF-8", stringsAsFactors = T)
Und die Rohdaten sehen wie folgt aus:
### Aufzeichnung mit Entwicklerversion: Neuer Erfassungsmodus ### Aufzeichnung vom 16.04.2018 08:51:38§Benutzer Maren§Beobachterposition(Prozent) 73,6/25,900000000000006§Beobachterposition(Skaliert) 28262,4/9945,6§Projektdatei /sdcard1/Eisfuchs.obs§Erfassungsmodus 0
Datum§Uhrzeit§AktorId§AktorText§AktionId§AktionText§WetterId§WetterText§Anzahl Besucher§Skalierte Position X§Skalierte Position Y§Prozentuale Position X§Prozentuale Position Y§Skalierter Weg seit letzter Markierung§Sonneneinstrahlung§Temperatur§Luftfeuchtigkeit§Anzahl Interaktionspartner§InteraktionspartnerListeId§InteraktionspartnerListeText§Sequenznummer des Timers
16.04.2018§08:59:24§1§Faehe§3§liegt_draußen_mit§1§Sonnig§1§9945,6§10441,47§25,9§53,3§0§0§22§0§0§§§0
16.04.2018§08:59:31§2§Ruede§4§ist aufmerksam§1§Sonnig§1§22579,2§7013,22§58,8§35,8§0§0§22§0§0§§§0
16.04.2018§09:03:17§2§Ruede§2§liegt_kl_Box_mit§1§Sonnig§1§22963,2§7718,46§59,8§39,4§803,01§0§22§0§0§§§0
Liebe Grüße!
Na klar!Code war folgender:
dat1 <- read.table("Rohdaten/MA_EisfuchsData20180416_0851.txt",skip = 1, sep="§", header = T, encoding="UTF-8", stringsAsFactors = T)
Und die Rohdaten sehen wie folgt aus:
### Aufzeichnung mit Entwicklerversion: Neuer Erfassungsmodus ### Aufzeichnung vom 16.04.2018 08:51:38§Benutzer Maren§Beobachterposition(Prozent) 73,6/25,900000000000006§Beobachterposition(Skaliert) 28262,4/9945,6§Projektdatei /sdcard1/Eisfuchs.obs§Erfassungsmodus 0
Datum§Uhrzeit§AktorId§AktorText§AktionId§AktionText§WetterId§WetterText§Anzahl Besucher§Skalierte Position X§Skalierte Position Y§Prozentuale Position X§Prozentuale Position Y§Skalierter Weg seit letzter Markierung§Sonneneinstrahlung§Temperatur§Luftfeuchtigkeit§Anzahl Interaktionspartner§InteraktionspartnerListeId§InteraktionspartnerListeText§Sequenznummer des Timers
16.04.2018§08:59:24§1§Faehe§3§liegt_draußen_mit§1§Sonnig§1§9945,6§10441,47§25,9§53,3§0§0§22§0§0§§§0
16.04.2018§08:59:31§2§Ruede§4§ist aufmerksam§1§Sonnig§1§22579,2§7013,22§58,8§35,8§0§0§22§0§0§§§0
16.04.2018§09:03:17§2§Ruede§2§liegt_kl_Box_mit§1§Sonnig§1§22963,2§7718,46§59,8§39,4§803,01§0§22§0§0§§§0
Liebe Grüße!
Re: Ungewollte Zeichen in Daten
Das ist in R-Studio reproduzierbar:
Hat bestimmt irgendwas mit dem Encoding zu tun.
LG,
Bernhard
Code: Alles auswählen
dat1 <- read.table(skip = 1, sep="§", header = T, encoding="UTF-8", stringsAsFactors = T,
text ="### Aufzeichnung mit Entwicklerversion: Neuer Erfassungsmodus ### Aufzeichnung vom 16.04.2018 08:51:38§Benutzer Maren§Beobachterposition(Prozent) 73,6/25,900000000000006§Beobachterposition(Skaliert) 28262,4/9945,6§Projektdatei /sdcard1/Eisfuchs.obs§Erfassungsmodus 0
Datum§Uhrzeit§AktorId§AktorText§AktionId§AktionText§WetterId§WetterText§Anzahl Besucher§Skalierte Position X§Skalierte Position Y§Prozentuale Position X§Prozentuale Position Y§Skalierter Weg seit letzter Markierung§Sonneneinstrahlung§Temperatur§Luftfeuchtigkeit§Anzahl Interaktionspartner§InteraktionspartnerListeId§InteraktionspartnerListeText§Sequenznummer des Timers
16.04.2018§08:59:24§1§Faehe§3§liegt_draußen_mit§1§Sonnig§1§9945,6§10441,47§25,9§53,3§0§0§22§0§0§§§0
16.04.2018§08:59:31§2§Ruede§4§ist aufmerksam§1§Sonnig§1§22579,2§7013,22§58,8§35,8§0§0§22§0§0§§§0
16.04.2018§09:03:17§2§Ruede§2§liegt_kl_Box_mit§1§Sonnig§1§22963,2§7718,46§59,8§39,4§803,01§0§22§0§0§§§0")
View(dat1)
Code: Alles auswählen
> str(dat1)
'data.frame': 3 obs. of 21 variables:
$ Datum.c2. : Factor w/ 1 level "16.04.2018\xc2": 1 1 1
$ Uhrzeit.c2. : Factor w/ 3 levels "08:59:24\xc2",..: 1 2 3
$ AktorId.c2. : Factor w/ 2 levels "1\xc2","2\xc2": 1 2 2
$ AktorText.c2. : Factor w/ 2 levels "Faehe\xc2","Ruede\xc2": 1 2 2
$ AktionId.c2. : Factor w/ 3 levels "2\xc2","3\xc2",..: 2 3 1
$ AktionText.c2. : Factor w/ 3 levels "ist aufmerksam\xc2",..: 2 1 3
$ WetterId.c2. : Factor w/ 1 level "1\xc2": 1 1 1
$ WetterText.c2. : Factor w/ 1 level "Sonnig\xc2": 1 1 1
$ Anzahl.Besucher.c2. : Factor w/ 1 level "1\xc2": 1 1 1
$ Skalierte.Position.X.c2. : Factor w/ 3 levels "22579,2\xc2",..: 3 1 2
$ Skalierte.Position.Y.c2. : Factor w/ 3 levels "10441,47\xc2",..: 1 2 3
$ Prozentuale.Position.X.c2. : Factor w/ 3 levels "25,9\xc2","58,8\xc2",..: 1 2 3
$ Prozentuale.Position.Y.c2. : Factor w/ 3 levels "35,8\xc2","39,4\xc2",..: 3 1 2
$ Skalierter.Weg.seit.letzter.Markierung.c2.: Factor w/ 2 levels "0\xc2","803,01\xc2": 1 1 2
$ Sonneneinstrahlung.c2. : Factor w/ 1 level "0\xc2": 1 1 1
$ Temperatur.c2. : Factor w/ 1 level "22\xc2": 1 1 1
$ Luftfeuchtigkeit.c2. : Factor w/ 1 level "0\xc2": 1 1 1
$ Anzahl.Interaktionspartner.c2. : Factor w/ 1 level "0\xc2": 1 1 1
$ InteraktionspartnerListeId.c2. : Factor w/ 1 level "\xc2": 1 1 1
$ InteraktionspartnerListeText.c2. : Factor w/ 1 level "\xc2": 1 1 1
$ Sequenznummer.des.Timers : int 0 0 0
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Ungewollte Zeichen in Daten
Ich bin jetzt soweit gekommen:
Das ist leicht brutal, weil ich einfach zwei Zeichen am Ende jedes Feldes lösche.
Das Ergebnis sieht einigermaßen aus.
Darf ich fragen, welches Programm einen solchen Output erzeugt?
Nachtrag:
Ich habe festgestellt, dass die komischen Zeichen auch verloren gehen können, wenn man den Text zwischen verschiedenen Programmen hin- und herkopiert. Deshalb wäre es für die Reproduzierbarkeit des Effektes wichtig, die entsprechende Datei als Anhang oder einen Link zu einem Download zu haben.
Gruß, Jörg
Code: Alles auswählen
text ="### Aufzeichnung mit Entwicklerversion: Neuer Erfassungsmodus ### Aufzeichnung vom 16.04.2018 08:51:38§Benutzer Maren§Beobachterposition(Prozent) 73,6/25,900000000000006§Beobachterposition(Skaliert) 28262,4/9945,6§Projektdatei /sdcard1/Eisfuchs.obs§Erfassungsmodus 0
Datum§Uhrzeit§AktorId§AktorText§AktionId§AktionText§WetterId§WetterText§Anzahl Besucher§Skalierte Position X§Skalierte Position Y§Prozentuale Position X§Prozentuale Position Y§Skalierter Weg seit letzter Markierung§Sonneneinstrahlung§Temperatur§Luftfeuchtigkeit§Anzahl Interaktionspartner§InteraktionspartnerListeId§InteraktionspartnerListeText§Sequenznummer des Timers
16.04.2018§08:59:24§1§Faehe§3§liegt_draußen_mit§1§Sonnig§1§9945,6§10441,47§25,9§53,3§0§0§22§0§0§§§0
16.04.2018§08:59:31§2§Ruede§4§ist aufmerksam§1§Sonnig§1§22579,2§7013,22§58,8§35,8§0§0§22§0§0§§§0
16.04.2018§09:03:17§2§Ruede§2§liegt_kl_Box_mit§1§Sonnig§1§22963,2§7718,46§59,8§39,4§803,01§0§22§0§0§§§0"
##
d <- read.table(skip=1, header=FALSE, stringsAsFactors = FALSE, sep="§", text=text)
d2 <- as.data.frame(lapply(d, sub, pattern="..$", replace=""), stringsAsFactors = FALSE)
d3 <- read.table(text=t(apply(d2, 1, paste0, collapse=";")),
header=TRUE, sep=";", dec=",", stringsAsFactors = FALSE, strip.white = TRUE)
str(d3)
Das Ergebnis sieht einigermaßen aus.
Darf ich fragen, welches Programm einen solchen Output erzeugt?
Nachtrag:
Ich habe festgestellt, dass die komischen Zeichen auch verloren gehen können, wenn man den Text zwischen verschiedenen Programmen hin- und herkopiert. Deshalb wäre es für die Reproduzierbarkeit des Effektes wichtig, die entsprechende Datei als Anhang oder einen Link zu einem Download zu haben.
Gruß, Jörg
Re: Ungewollte Zeichen in Daten
Mal latin-1 ausprobiert? Meine Windowszeit ist lange rum, aber ich meine mich zu erinnern...Hat bestimmt irgendwas mit dem Encoding zu tun.
Oder mal die Datei in einem gescheiten Editor öffnen und nachschauen / probieren.
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
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Re: Ungewollte Zeichen in Daten
Guten Abend ihr beiden!
latin-1 sagt mir nichts, ich bin auch eher Anfängerin
Das ist eineselbstgeschriebene App aus einer AG der Uni, die mir sowas ausspuckt. Sonst konfrontiere ich die Schöpfer der App mal mit dem Problem, das ist ein recht kleiner Kreis. Bloß arbeiten die bei der Auswertung leider nicht mit R, sondern nur mit Excel...da scheint es keine Probleme zu geben mit unerwünschten Zeichen.
Was wäre denn ein gescheiter Editor, Deiner Meinung nach?
latin-1 sagt mir nichts, ich bin auch eher Anfängerin
Das ist eineselbstgeschriebene App aus einer AG der Uni, die mir sowas ausspuckt. Sonst konfrontiere ich die Schöpfer der App mal mit dem Problem, das ist ein recht kleiner Kreis. Bloß arbeiten die bei der Auswertung leider nicht mit R, sondern nur mit Excel...da scheint es keine Probleme zu geben mit unerwünschten Zeichen.
Was wäre denn ein gescheiter Editor, Deiner Meinung nach?
Re: Ungewollte Zeichen in Daten
Hi,
wenn Excel kein Problem ist, dann lade die Dateien doch einmal mit Excel und speichere sie dort als *.csv wieder ab. Dann lädst Du das mit Excel als csv gespeicherte mit der Funktion read.csv2 wieder ein. Ist das elegant? Nein. Könnte das klappen? Versuch macht klug.
LG,
Bernhard
wenn Excel kein Problem ist, dann lade die Dateien doch einmal mit Excel und speichere sie dort als *.csv wieder ab. Dann lädst Du das mit Excel als csv gespeicherte mit der Funktion read.csv2 wieder ein. Ist das elegant? Nein. Könnte das klappen? Versuch macht klug.
Das sieht ja auch ganz klar nach etwas aus, was man in R machen können sollte.Sonst konfrontiere ich die Schöpfer der App mal mit dem Problem, das ist ein recht kleiner Kreis. Bloß arbeiten die bei der Auswertung leider nicht mit R, sondern nur mit Excel...da scheint es keine Probleme zu geben mit unerwünschten Zeichen
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Ungewollte Zeichen in Daten
Hallo Polarfüchsin,
kannst Du bitte mal folgendes testen:und über das Ergebnis berichten?
Gruß, Jörg
kannst Du bitte mal folgendes testen:
Code: Alles auswählen
Text <- readLines("Rohdaten/MA_EisfuchsData20180416_0851.txt")
dat1 <- read.table(text=gsub("..§", "§", Text), skip = 1, sep="§", dec=",", header=TRUE, stringsAsFactors=FALSE)
str(dat1)
Gruß, Jörg
Re: Ungewollte Zeichen in Daten
Guten Abend! Hab ich getestet:
> rm(list=ls())
> setwd('C:/Users/(...))
> Text <- readLines("Rohdaten/MA_EisfuchsData20180416_0851.txt")
> dat1 <- read.table(text=gsub("..§", "§", Text), skip = 1, sep="§", dec=",", header=T, stringsAsFactors=F)
Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
line 1 did not have 21 elements
...obwohl er doch Zeile 1 überspringen soll?
> rm(list=ls())
> setwd('C:/Users/(...))
> Text <- readLines("Rohdaten/MA_EisfuchsData20180416_0851.txt")
> dat1 <- read.table(text=gsub("..§", "§", Text), skip = 1, sep="§", dec=",", header=T, stringsAsFactors=F)
Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
line 1 did not have 21 elements
...obwohl er doch Zeile 1 überspringen soll?