Eingelesene Daten aus CSV sind nicht nummerisch
Eingelesene Daten aus CSV sind nicht nummerisch
Hallo zusammen,
Ich versuche Daten aus einer CSV einzulesen.
Diese sind laut R jedoch nicht nummerisch.
Wenn ich einzelne Werte manuell in eine neue CSV eingebe und in R einlese sind diese nummerisch.
Kopiere ich jedoch ganze Felder in einer neue CSV wiederum nicht.
Daher kann es ja nicht an den Werten selbst liegen.
Hätte vielleicht jemand eine Idee woran das liegen könnte
Vielen Dank im Voraus
Ich versuche Daten aus einer CSV einzulesen.
Diese sind laut R jedoch nicht nummerisch.
Wenn ich einzelne Werte manuell in eine neue CSV eingebe und in R einlese sind diese nummerisch.
Kopiere ich jedoch ganze Felder in einer neue CSV wiederum nicht.
Daher kann es ja nicht an den Werten selbst liegen.
Hätte vielleicht jemand eine Idee woran das liegen könnte
Vielen Dank im Voraus
Re: Eingelesene Daten aus CSV sind nicht nummerisch
Ja, meistens liegt das daran, dass die Zahlenwerte als Factor eingelesen wurden. Das kann passieren, wenn an einer Stelle ein großes "o" anstelle einer Null eingegeben wurde oder ein einziges Mal Komma und Punkt verwechselt wurden oder ein fehlender Wert als na anstelle von NA bezeichnet wurde
Wenn Du die Daten als a eingelesen hast, dann poste bitte mal das Ergebnis von
hier ins Forum.
Falls da was von "factor" steht auch
vielleicht lesenswert: viewtopic.php?f=9&t=1278
LG,
Bernhard
Wenn Du die Daten als a eingelesen hast, dann poste bitte mal das Ergebnis von
Code: Alles auswählen
str(a)
Falls da was von "factor" steht auch
Code: Alles auswählen
levels(a)
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: Eingelesene Daten aus CSV sind nicht nummerisch
Es wird niemanden interessieren, und es ist seit der letzten Rechtschreibreform auch zulässig - aber ich kriege Plack, wenn ich "numerisch" mit Doppel-m sehe !Diese sind laut R jedoch nicht nummerisch.
Re: Eingelesene Daten aus CSV sind nicht nummerisch
Hallo Stanger,
willkommen im Forum!und die Operation, die Du anschließend ausführst, bei der R entsprechend meckert.
Das sind wichtige Informationen, um Dir helfen zu können.
Bernhard hat die Info auch aufgeschnappt und konnte Dir eine entsprechende Antwort geben.
Bitte zukünftig beherzigen: viewtopic.php?f=20&t=11
Gruß, Jörg
willkommen im Forum!
in Deiner anderen Nachricht (die, die Du selbst gelöscht hast) stand noch der Code, mit dem Du die Daten einliest.
Code: Alles auswählen
x <- read.~(...)
Code: Alles auswählen
hist(x)
Bernhard hat die Info auch aufgeschnappt und konnte Dir eine entsprechende Antwort geben.
Bitte zukünftig beherzigen: viewtopic.php?f=20&t=11
Gruß, Jörg
Re: Eingelesene Daten aus CSV sind nicht nummerisch
Hallo zusammen Danke für die Antworten und Hinweise.
Es handelt sich um folgenden Code:
Die Ausgabe von str (a) lautet:
data.frame': 260 obs. of 261 variables:
$ Ind.ID: int 1 2 3 4 5 6 7 8 9 10 ...
$ X1 : num 0 0.1462 0.5426 0.1683 -0.0208 ...
$ X2 : num NA 0 0.2114 0.0824 0.4854 ...
$ X3 : num NA NA 0 0.219 0.178 ...
$ X4 : num NA NA NA 0 0.395 ...
$ X5 : num NA NA NA NA 0 ...
$ X6 : num NA NA NA NA NA ...
$ X7 : num NA NA NA NA NA ...
$ X8 : num NA NA NA NA NA ...
$ X9 : num NA NA NA NA NA ...
$ X10 : num NA NA NA NA NA NA NA NA NA 0 ...
$ X11 : num NA NA NA NA NA NA NA NA NA NA ...
....
Die Ausgabe von levels (a) lautet: NULL
Die Ausgabe von is.numeric(a) lautet: False
Es ist mir nach wie vor noch unschlüssig weshalb a nicht numerisch sein soll.
Lg
Stanger
Es handelt sich um folgenden Code:
Code: Alles auswählen
a =read.table( 'C:/a.csv', header=T,sep=";",dec=",",stringsAsFactors = FALSE)
str(a)
levels(a)
is.numeric(a)
hist(a)
Die Ausgabe von str (a) lautet:
data.frame': 260 obs. of 261 variables:
$ Ind.ID: int 1 2 3 4 5 6 7 8 9 10 ...
$ X1 : num 0 0.1462 0.5426 0.1683 -0.0208 ...
$ X2 : num NA 0 0.2114 0.0824 0.4854 ...
$ X3 : num NA NA 0 0.219 0.178 ...
$ X4 : num NA NA NA 0 0.395 ...
$ X5 : num NA NA NA NA 0 ...
$ X6 : num NA NA NA NA NA ...
$ X7 : num NA NA NA NA NA ...
$ X8 : num NA NA NA NA NA ...
$ X9 : num NA NA NA NA NA ...
$ X10 : num NA NA NA NA NA NA NA NA NA 0 ...
$ X11 : num NA NA NA NA NA NA NA NA NA NA ...
....
Die Ausgabe von levels (a) lautet: NULL
Die Ausgabe von is.numeric(a) lautet: False
Es ist mir nach wie vor noch unschlüssig weshalb a nicht numerisch sein soll.
Lg
Stanger
Re: Eingelesene Daten aus CSV sind nicht nummerisch
Hallo Stanger,
die Spalten, die Du uns hier zeigst sind in der Tat alle numerisch. a selbst ist nicht numerisch, weil a ein data.frame ist. Jede einzelne Spalte innerhalb von a ist aber numerisch und wahrscheinlich liegt der Fehler darin, dass Du ein Kommando auf die ganze Tabelle angewendet hast, das eigentlich nur auf Spalten von Tabellen anzuwenden ist.
Welcher Befehlsaufruf hat denn zu der Behauptung geführt, dass die Daten nicht-numerisch seien und wie lautete die Fehlermeldung vollständig? Was möchtest Du mit diesen Daten rechnen?
LG,
Bernhard
die Spalten, die Du uns hier zeigst sind in der Tat alle numerisch. a selbst ist nicht numerisch, weil a ein data.frame ist. Jede einzelne Spalte innerhalb von a ist aber numerisch und wahrscheinlich liegt der Fehler darin, dass Du ein Kommando auf die ganze Tabelle angewendet hast, das eigentlich nur auf Spalten von Tabellen anzuwenden ist.
Code: Alles auswählen
> a = data.frame(eins = 1, zwei = 2)
> typeof(a)
[1] "list"
> typeof(a$eins)
[1] "double"
> is.numeric(a)
[1] FALSE
> is.numeric(a$eins)
[1] TRUE
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: Eingelesene Daten aus CSV sind nicht nummerisch
Hallo Bernhard,
zuerst einmal Danke für deine Hilfe.
Mein Ziel ist es die Daten in einem Histogramm darzustellen.
Der Befehl Hist(a) für dabei zu folgendem Error:
zuerst einmal Danke für deine Hilfe.
Mein Ziel ist es die Daten in einem Histogramm darzustellen.
Der Befehl Hist(a) für dabei zu folgendem Error:
Code: Alles auswählen
> hist(a)
Error in hist.(a) : 'x' muss numerisch sein
Re: Eingelesene Daten aus CSV sind nicht nummerisch
Das haben wir ja oben erklärt: a ist vom Typ Tabelle, nicht vom Typ Zahl. Du kannst Histogramme einzelner Spalten von a anfertigen, wie Jörg das gezeigt hat. Wenn wirklich alle Spalten numerisch sind, kannst Du auch alle Spalten zusammenfassen und davon ein Histogramm zeichnen:Stanger hat geschrieben: ↑Mi Apr 10, 2019 5:53 pmDer Befehl Hist(a) für dabei zu folgendem Error:
Code: Alles auswählen
> hist(a) Error in hist.(a) : 'x' muss numerisch sein
Code: Alles auswählen
bsp <- data.frame(a=rnorm(10), b=rnorm(10), c=runif(10))
hist(unlist(bsp))
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: Eingelesene Daten aus CSV sind nicht nummerisch
Hallo zusammen,
das erstellen von Histogrammen einzelner Spalten hat super funktioniert.
Vielen Dank hierfür!
Jedoch ist mir noch nicht so wirklich klar wie ich die alle Spalten der Tabelle zusammenfassen soll.
@Bernhard, weshalb verwendest du in deinem Beispiel rnorm und runif?
LG
Stanger
das erstellen von Histogrammen einzelner Spalten hat super funktioniert.
Vielen Dank hierfür!
Jedoch ist mir noch nicht so wirklich klar wie ich die alle Spalten der Tabelle zusammenfassen soll.
@Bernhard, weshalb verwendest du in deinem Beispiel rnorm und runif?
LG
Stanger