Verschieben von autocorrelation plots

Wie erstelle ich Grafiken, was ist zu beachten?

Moderatoren: EDi, jogo

Antworten
wintwin111

Verschieben von autocorrelation plots

Beitrag von wintwin111 »

Hallo zusammen,

ich habe ein Problem mit einem Plot den ich in R erstellen will.

Hier ist ein Beispiel

2 vektoren generieren

Code: Alles auswählen

a<-rnorm(100,0,1)
b<-rnorm(100,0,1)
die autocorrelation arrays extrahieren

Code: Alles auswählen

a1<-acf(a)$acf
b1<-acf(b)$acf
arrays umwandeln in Vektoren

Code: Alles auswählen

a1<-as.numeric(a1)
b1<-as.numeric(b1)
jetzt will ich beide acf's plotten so in der Art

Code: Alles auswählen

plot(a1,type="h")
lines(b1,type="h",col="red")
Nun ist das aber etwas unübersichtlich und ich würde gerne den roten plot minimal nach rechts verschieben so dass beide plots "nebeneinander" in einem sind. Kann mir da jemand behilflich sein?

Grüße
wintwin111

Re: Verschieben von autocorrelation plots

Beitrag von wintwin111 »

Was ich vorhabe ist so etwas ähnliches wie der geom_bar Befehl in ggplot2 aber ohne dieses Package zu benutzen.
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Verschieben von autocorrelation plots

Beitrag von EDi »

Wieso kein ggplot2?

Ohne musst du dich selbst um die Position auf der x-achse kümmern...
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.
wintwin111

Re: Verschieben von autocorrelation plots

Beitrag von wintwin111 »

Von mir aus auch mit ggplot2 aber mit diesem package habe ich noch nie gearbeitet und der
code sieht doch extrem anderst aus als das normale plotten.
Wenn ich mir

Code: Alles auswählen

xy.coords(a)$x
anschaue dann sind ja die werte 1,2,... Kann ich diese Werte nicht einfach in 1.1,1.2,... ändern oder geht das so einfach nicht?
Weil wenn ich diesen Code verwende
c<-c(1.1,2.1,3.1,4.1,5.1,6.1,6.1,7.1,8.1,9.1,10.1)

Code: Alles auswählen

xy.coords(a)$x<-c
dann kommt der Fehler

Code: Alles auswählen

Fehler in xy.coords(a)$x <- c : konnte Funktion "xy.coords<-" nicht finden
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Verschieben von autocorrelation plots

Beitrag von bigben »

Ggplot2 sieht nicht nur anders aus, ggplot2 ist anders. Ganz anders. Vorschlag ohne ggplot2, minimale Ergänzung zum bisherigen:

Code: Alles auswählen

plot(1:length(a1)-.1, a1,type="h")
lines(1:length(b1)+.1, b1,type="h",col="red")
abline(h=0, col="grey")
Um die y-Achse, genauer die ylim, musst Du Dich aber wohl wirklich noch kümmern.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
wintwin111

Re: Verschieben von autocorrelation plots

Beitrag von wintwin111 »

Hallo Bernhard, genau das habe ich gesucht. Vielen Dank! Aber wieso soll ich mich noch um die y-Achse kümmern?
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Verschieben von autocorrelation plots

Beitrag von bigben »

Deren Grenzen hängen nur von a1, nicht von b1 ab. Wenn b1 viel höhere oder viel niedrigere Werte als a1 enthält, dann ist die Achse zu kurz. Deshalb brauchst Du im plot-Kommando ein ylim- Argument.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
wintwin111

Re: Verschieben von autocorrelation plots

Beitrag von wintwin111 »

Ach so, ja das ist aber kein Problem mehr
Antworten