beim plotten setzt R an der y-achse falsche werte

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

niklas1993
Beiträge: 12
Registriert: Mo Jun 08, 2020 10:35 am

beim plotten setzt R an der y-achse falsche werte

Beitrag von niklas1993 »

also ich möchte die x-variable "Date" und die y-variable "Close" nehmen.

nun sind ja die close werte alle zwischen 0.05 und 0.08. R macht wir jedoch wenn ich plotte, von 0 bis 1400 die y-achse. Der Verlauf scheint zu stimmen, genauso das datum.

Classes ‘data.table’ and 'data.frame': 1804 obs. of 7 variables:
$ Date : chr "2013-04-23" "2013-04-24" "2013-04-25" "2013-04-26" ...
$ Open : chr "0.082890" "0.083440" "0.084120" "0.084520" ...
$ High : chr "0.083400" "0.083910" "0.084880" "0.084700" ...
$ Low : chr "0.082470" "0.083290" "0.083780" "0.083690" ...
$ Close : chr "0.082890" "0.083440" "0.084110" "0.084530" ...
$ Adj Close: chr "0.082890" "0.083440" "0.084110" "0.084530" ...
$ Volume : chr "0" "0" "0" "0" ...
- attr(*, ".internal.selfref")=<externalptr>


Besten Dank und viele Grüße
Benutzeravatar
student
Beiträge: 674
Registriert: Fr Okt 07, 2016 9:52 am

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von student »

Hallo niklas1993,

wenn Du keine Glaskugel-Antwort möchtest, poste doch bitte mal den "plot-Code" und das, was Du gemacht hast (ein reproduzierbares Beispiel).

Nebenbei, ist das richtig, dass Deine Variablen alle vom Typ "chr" sind?
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)
niklas1993
Beiträge: 12
Registriert: Mo Jun 08, 2020 10:35 am

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von niklas1993 »

also ich habe mit fread die excel importiert. ich weiß nicht ob es dadurch alle variablen als Charakter gemacht hat.

dann habe ich ein Data frame gemacht, aus den 2 variablen die ich plotten möchte. dann noch das datum mit lubridate formatiert, ich weiß nicht ob das so sein muss?

df<-as.data.frame(cbind(EUR$Date, as.numeric(EUR$Close)))
colnames(df)<-c("date", "price")

df$date <- ymd(df$date)

plot(df$date, df$price, type="l")
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von EDi »

Was sagt

Code: Alles auswählen

str(df)
Und

Code: Alles auswählen

range(df$price)
:?:
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.
niklas1993
Beiträge: 12
Registriert: Mo Jun 08, 2020 10:35 am

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von niklas1993 »

da kommt eine Fehlermeldung.

Fehler in Summary.factor(c(1349L, 1351L, 1356L, 1361L, 1357L, 1363L, 1360L, :
‘range’ not meaningful for factors


str habe ich zu beginn gepostet.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von bigben »

Hallo niklas,

das Einlesen der Daten hat nicht geklappt, deshalb kommt es darauf an, was für eine Datei das war, wie die eingelesen wurde etc. Es kann und darf nicht sein, dass die Zahlenwerte als Buchstabenfolgen eingelesen werden. Genau das ist aber passiert.

In deinem str-Ergebnis kommt keine Spalte namens price vor, in Deinem Plotkommando aber doch. Also ist das str das Du zu Beginn gepostet hast nicht mehr das str(df) beim Aufruf von plot. Ein str nach df<-as.data.frame(cbind(EUR$Date, as.numeric(EUR$Close))) haben wir noch nicht gesehen. Du präsentierst uns hier ein Durcheinander, in das man sich nicht eindenken kann und will.

Bitte mach nochmal langsam und ganz von vorn, was Du machst und welche evolution der Datensatz df durchmacht. Wenn irgendmöglich mach ein reprodizierbares Minimalbeispiel.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
niklas1993
Beiträge: 12
Registriert: Mo Jun 08, 2020 10:35 am

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von niklas1993 »

hallo Bernhard,

ja ich habe es dann beschriftet , daher "price": colnames(df)<-c("date", "price")

der Datensatz ist eine Excel Datei.

# einlesen der excel Datei
EUR<-fread

str(EUR)
Classes ‘data.table’ and 'data.frame': 1804 obs. of 7 variables:
$ Date : chr "2013-04-23" "2013-04-24" "2013-04-25" "2013-04-26" ...
$ Open : chr "0.082890" "0.083440" "0.084120" "0.084520" ...
$ High : chr "0.083400" "0.083910" "0.084880" "0.084700" ...
$ Low : chr "0.082470" "0.083290" "0.083780" "0.083690" ...
$ Close : chr "0.082890" "0.083440" "0.084110" "0.084530" ...
$ Adj Close: chr "0.082890" "0.083440" "0.084110" "0.084530" ...
$ Volume : chr "0" "0" "0" "0" ...
- attr(*, ".internal.selfref")=<externalptr>
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von bigben »

Hi!
niklas1993 hat geschrieben: Fr Jun 19, 2020 2:03 pmja ich habe es dann beschriftet , daher "price": colnames(df)<-c("date", "price")
Dir ist aber schon klar, dass in

Code: Alles auswählen

str(EUR)
Classes ‘data.table’ and 'data.frame':	1804 obs. of  7 variables:
 $ Date     : chr  "2013-04-23" "2013-04-24" "2013-04-25" "2013-04-26" ...
 $ Open     : chr  "0.082890" "0.083440" "0.084120" "0.084520" ...
 $ High     : chr  "0.083400" "0.083910" "0.084880" "0.084700" ...
 $ Low      : chr  "0.082470" "0.083290" "0.083780" "0.083690" ...
 $ Close    : chr  "0.082890" "0.083440" "0.084110" "0.084530" ...
 $ Adj Close: chr  "0.082890" "0.083440" "0.084110" "0.084530" ...
 $ Volume   : chr  "0" "0" "0" "0" ...
keine Spalte "date" und keine Spalte "price" heißt und dass zwei Spaltennamen auch nicht genug wären für ein datatable mit 7 Spalten?
der Datensatz ist eine Excel Datei.
Das kann heißen, dass es eine xls-Datei ist. Oder eine xlsx-Datei. Oder irgendein anderes Format, bei dem Du Windows gesagt hast, dass es das mit Excel öffnen soll. Da fread nunmal weder xls- noch xlsx-Dateien liest muss es ein anderes Format sein. Ich tippe mal auf ein csv-Format, aber ich verstehe nicht, warum ich raten soll.
# einlesen der excel Datei
EUR<-fread
Super, dass Du die Klammern und den Dateinamen weggelassen hast. Da hätte man sonst die Dateiendung lesen und wissen können, was für ein Format das war und man hätte sehen können, ob Du noch irgendwelche anderen Argumente bei fread gesetzt hast. Hätte uns gute Teile vom Ratespaß nehmen können.

Code: Alles auswählen

str(EUR)
Classes ‘data.table’ and 'data.frame':	1804 obs. of  7 variables:
 $ Date     : chr  "2013-04-23" "2013-04-24" "2013-04-25" "2013-04-26" ...
 $ Open     : chr  "0.082890" "0.083440" "0.084120" "0.084520" ...
 $ High     : chr  "0.083400" "0.083910" "0.084880" "0.084700" ...
 $ Low      : chr  "0.082470" "0.083290" "0.083780" "0.083690" ...
 $ Close    : chr  "0.082890" "0.083440" "0.084110" "0.084530" ...
 $ Adj Close: chr  "0.082890" "0.083440" "0.084110" "0.084530" ...
 $ Volume   : chr  "0" "0" "0" "0" ...
 - attr(*, ".internal.selfref")=<externalptr>
Wie schon gesagt, da kommen die im plot-Kommando erwähnten Spalten gar nicht vor aber selbst wenn sie vorkämen, würde plot hier nur texte finden. Kein Datum und keine Zahlenwerte. Aber das ist bestimmt auch gar nicht das EUR, das Du plottest.
langsam und ganz von vorn, was Du machst und welche Evolution der Datensatz df durchmacht
Scheint zuviel verlangt zu sein?
Wenn irgendmöglich mach ein reprodizierbares Minimalbeispiel
Egal, wieviel wir aneinander vorbei reden mögen - das hat die größte Chance zu helfen.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
niklas1993
Beiträge: 12
Registriert: Mo Jun 08, 2020 10:35 am

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von niklas1993 »

hallo nochmal,
sorry dachte das nach fread hat keine Bedeutung
und ja du hast recht, das ist eine csv Datei.

EUR<- fread("/Users/niklas/Desktop/EUR=X.csv")


das heißt ich muss die zwei spalten noch umkodieren um plot zu verwenden?
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: beim plotten setzt R an der y-achse falsche werte

Beitrag von bigben »

Komische Frage. Ich haben von den zwei Spalten noch kein str gesehen. Woher soll ich wissen, ob die irgendwie umcodiert werden müssen?

Rückblickend gibt es jetzt einen dataframe der EUR heißt und einen der df heißt. Vielleicht liegt darin ja ein Teil des Durcheinanders? Anscheinend beschäftigst Du uns hier mit EUR während Du df plotten willst? Na, ich werde es nicht klären. Ich bin dann jetzt auch aus diesem Thread raus.

Viel Erfolg noch,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Antworten