Probleme beim Einlesen der Daten

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

Moderatoren: EDi, jogo

Antworten
kingerde
Beiträge: 9
Registriert: Do Jun 03, 2021 9:34 pm

Probleme beim Einlesen der Daten

Beitrag 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.
Dateianhänge
Beispiel.xlsx
(9.87 KiB) 87-mal heruntergeladen
Zuletzt geändert von kingerde am Sa Jun 19, 2021 1:26 pm, insgesamt 2-mal geändert.
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Probleme beim Einlesen der Daten

Beitrag 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
kingerde
Beiträge: 9
Registriert: Do Jun 03, 2021 9:34 pm

Re: Probleme beim Einlesen der Daten

Beitrag 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 = ","))
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: Probleme beim Einlesen der Daten

Beitrag von student »

Wenn die Datei als csv-Datei vorliegt und das Dezimalzeichen das Komma ist, dann hilft read.csv2 weiter.
Viele Grüße,
Student
-----------------------------------------------------------------------------------------------------------------------
faes.de, Datenanalyse mit R & das Ad-Oculos-Projekt
Das Ad-Oculos-Projekt auf YouTube

Habe Mut, dich deines eigenen Verstandes zu bedienen! (Kant)
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Probleme beim Einlesen der Daten

Beitrag 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
Antworten