Seite 1 von 1
Probleme beim Einlesen der Daten
Verfasst: Fr Jun 18, 2021 12:56 pm
von kingerde
EDIT:
Das Problem liegt an meinen Daten selbst. Es liegt ein Fehler vor beim Herunterladen des Datensatzes.
Ich habe etwas Probleme beim Einlesen meiner Daten.
Bei den Daten handelt es sich um "zahlen". D.h. deren Formatierung sollte eigentlich identisch sein. In der Excel-Datei sieht man ja schon, dass es dort Unterschiede in der Darstellung gibt. Das Komma ist das Tsd. Trennzeichen, nicht Dezimaltrennzeichen
Wenn ich die Daten in R importiere, werden die als "Character" angezeigt.
Einkommen
<chr>
1 10
2 5,75
3 5125
4 1,75
5 2125
6 4375
7 5,75
8 9,25
9 9375
10 7,25
11 3,75
12 10125
13 14
14 NA
Das 1. Problem ist hier schon, dass einige Zahlen nicht richtig übernommen werden (das Komma fehlt). Wenn ich jetzt die Spalte als numeric umwandeln will:
Code: Alles auswählen
Beispiel$Einkommen <- as.numeric(as.character(Beispiel$Einkommen))
gehen einige Daten verloren und sind falsch.
Einkommen
<dbl>
1 10
2 NA
3 5125
4 NA
5 2125
6 4375
7 NA
8 NA
9 9375
10 NA
11 NA
12 10125
13 14
14 NA
Kann man das Problem irgendwie beheben? Mein eigentlicher Datensatz ist relativ groß und besteht aus einigen Spalten.
Re: Probleme beim Einlesen der Daten
Verfasst: Fr Jun 18, 2021 1:23 pm
von jogo
Hallo kingerde,
kingerde hat geschrieben: Fr Jun 18, 2021 12:56 pm
Bei den Daten handelt es sich um "zahlen". D.h. deren Formatierung sollte eigentlich identisch sein. In der Excel-Datei sieht man ja schon, dass es dort Unterschiede in der Darstellung gibt. Das Komma ist das Tsd. Trennzeichen, nicht Dezimaltrennzeichen
Wenn ich die Daten in R importiere, werden die als "Character" angezeigt.
kannst Du bitte zeigen, wie Du die Daten nach R importierst?
Bei Excel-Dateien kann man mit Hilfe von Zusatzpaketen diese Dateien direkt in R einlesen. Dabei vermeidet man Irritationen bezüglich mancher Format-Einstellungen für Zahlen in Excel (z.B. Tausendertrennzeichen (Leerzeichen oder Komma oder Punkt)).
... ansonsten vorher solche Formatierungen ausschalten, bevor man in ein textbasiertes Dateiformat (z.B. CSV) exportiert.
Gruß, Jörg
Re: Probleme beim Einlesen der Daten
Verfasst: Fr Jun 18, 2021 2:19 pm
von kingerde
jogo hat geschrieben: Fr Jun 18, 2021 1:23 pm
Hallo kingerde,
kingerde hat geschrieben: Fr Jun 18, 2021 12:56 pm
Bei den Daten handelt es sich um "zahlen". D.h. deren Formatierung sollte eigentlich identisch sein. In der Excel-Datei sieht man ja schon, dass es dort Unterschiede in der Darstellung gibt. Das Komma ist das Tsd. Trennzeichen, nicht Dezimaltrennzeichen
Wenn ich die Daten in R importiere, werden die als "Character" angezeigt.
kannst Du bitte zeigen, wie Du die Daten nach R importierst?
Bei Excel-Dateien kann man mit Hilfe von Zusatzpaketen diese Dateien direkt in R einlesen. Dabei vermeidet man Irritationen bezüglich mancher Format-Einstellungen für Zahlen in Excel (z.B. Tausendertrennzeichen (Leerzeichen oder Komma oder Punkt)).
... ansonsten vorher solche Formatierungen ausschalten, bevor man in ein textbasiertes Dateiformat (z.B. CSV) exportiert.
Gruß, Jörg
Hallo Jörg,
ich füge die Daten über "Import Dataset" & "From Excel" ein
Code: Alles auswählen
library(readxl)
Beispiel <- read_excel("E:/Downloads/Beispiel.xlsx",
sheet = "Beispiel")
Wenn ich im Projektordner arbeite, dann habe ich die Daten dort bereits abgespeichert, sodass ich die dann über "Files" einfüge
EDIT:
Konnte im Internet folgende Möglichkeiten für csv ausfindig machen. Sind allerdings immer noch Fehler enthalten.
Code: Alles auswählen
test <- read_delim("E:/Downloads/Beispiel.csv", ';', locale = locale(grouping_mark = ","))
oder
test1 <- read_delim("E:/Downloads/Beispiel.csv", ';', locale = locale(decimal_mark = ","))
Re: Probleme beim Einlesen der Daten
Verfasst: Sa Jun 19, 2021 9:52 am
von student
Wenn die Datei als csv-Datei vorliegt und das Dezimalzeichen das Komma ist, dann hilft read.csv2 weiter.
Re: Probleme beim Einlesen der Daten
Verfasst: Mo Jun 21, 2021 9:24 am
von jogo
Hallo Kingerde,
folgendes funktioniert bei mir:
Code: Alles auswählen
setwd("~/Desktop/Downloads")
library("xlsx")
read.xlsx("Beispiel.xlsx", sheetIndex=1)
Code: Alles auswählen
> read.xlsx("Beispiel.xlsx", sheetIndex=1)
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.poi.util.SAXHelper (file:/usr/local/lib/R/site-library/xlsxjars/java/poi-ooxml-3.10.1-20140818.jar) to method com.sun.org.apache.xerces.internal.util.SecurityManager.setEntityExpansionLimit(int)
WARNING: Please consider reporting this to the maintainers of org.apache.poi.util.SAXHelper
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Einkommen
1 10
2 5,75
3 5125
4 1,75
5 2125
6 4375
7 5,75
8 9,25
9 9375
10 7,25
11 3,75
12 10125
13 14
14 NA
Gruß, Jörg