Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Methoden der Zeitreihenanalyse

Moderator: schubbiaschwilli

Antworten
lotti1798
Beiträge: 7
Registriert: Di Feb 02, 2021 7:05 pm

Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Beitrag von lotti1798 »

Hallo zusammen!
Ich habe einen Plot erstellt mit mehreren Zeitreihen (Datei angefügt) und einer Legende, welche sich außerhalb des Plots befindet.
Dafür habe ich diesen Code verwendet:

Code: Alles auswählen

hoehe <- read.csv2("Daten_forum.csv") 
year <- hoehe[1:71, 1] 
muenchen_annual <- hoehe[1:71, 3] 
berg_annual <- hoehe[1:71, 2] 

par(mar=c(5,4,4,9), xpd=TRUE)
plot(year, muenchen_annual, type="l", col="green", xlab="Zeit", ylab="Höhe", main="Zeitreihe", xlim=c(1950, 2020), ylim=c(500, 2500), lwd=2) 
lines(year, berg_annual, type="l", col="brown", lwd=2)
legend("topright", inset=c(-0.35,0), title="Station", legend=c("Berg", "München"), lty=1, col=c("brown", "green"), lwd=2)
Nun möchte ich zu jener Grafik Trendlinien hinzufügen für die einzelnen Zeitreihen.
Dies ist an sich möglich, nur durch den xpd-Befehl werden die Linien auch außerhalb des Plots gezeichnet.

Code: Alles auswählen

Ntrend_muenchen <- lm(muenchen_annual~year)
Ntrend_berg <- lm(berg_annual~year)

par(mar=c(5,4,4,9), xpd=TRUE)
plot(year, muenchen_annual, type="l", col="green", xlab="Zeit", ylab="Höhe", main="Zeitreihe", xlim=c(1950, 2020), ylim=c(500, 2500), lwd=2) 
abline(Ntrend_muenchen, col="green", lwd=2, lty=2)
lines(year, berg_annual, type="l", col="brown", lwd=2)
abline(Ntrend_berg, col="brown", lwd=2, lty=2)
legend("topright", inset=c(-0.35,0), title="Station", legend=c("Berg", "München"), lty=1, col=c("brown", "green"), lwd=2)
Nun meine Frage: Ist es möglich, die Trendlinien als abline innerhalb des Plots zu begrenzen und die Legende weiterhin außerhalb der Grafik darzustellen?
Ich hoffe, ich habe das nun verständlich erklärt.
csv-Datei mit Zeitreihen habe ich angehängt.

Ich würde mich sehr über Hilfe freuen!
Grüße, Lotti
Dateianhänge
Daten_forum.csv
(1.21 KiB) 3-mal heruntergeladen
schubbiaschwilli
Beiträge: 117
Registriert: Di Jun 27, 2017 12:09 pm

Re: Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Beitrag von schubbiaschwilli »

Gude!

Mir würde nur das händische Dazubasteln einfallen - Nicht unbeding schön, aber funkt.

Dank&Gruß
schubbiaschwilli

Code: Alles auswählen

Ntrend_muenchen <- lm(muenchen_annual~year)
Ntrend_berg <- lm(berg_annual~year)

par(mar=c(5,4,4,9), xpd=TRUE)
plot(year, muenchen_annual, type="l", col="green", xlab="Zeit", ylab="Höhe", main="Zeitreihe", xlim=c(1950, 2020), ylim=c(500, 2500), lwd=2) 

MinMax <- c(1950, 2020)

# abline(Ntrend_muenchen, col="green", lwd=2, lty=2)
alpha <- Ntrend_muenchen$coefficients[1]
beta <- Ntrend_muenchen$coefficients[2]
MinMax_Values <- MinMax*beta + alpha
lines(x=MinMax, y=MinMax_Values, col="green", lwd=2, lty=2)

lines(year, berg_annual, type="l", col="brown", lwd=2)
#abline(Ntrend_berg, col="brown", lwd=2, lty=2)
alpha <- Ntrend_berg$coefficients[1]
beta <- Ntrend_berg$coefficients[2]
MinMax_Values <- MinMax*beta + alpha
lines(x=MinMax, y=MinMax_Values, col="brown", lwd=2)

legend("topright", inset=c(-0.35,0), title="Station", legend=c("Berg", "München"), lty=1, col=c("brown", "green"), lwd=2)
Benutzeravatar
EDi
Beiträge: 1376
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Beitrag von EDi »

Du könntest vor dem abline xpd=FALSE setzten und danach wieder auf TRUE...
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.
schubbiaschwilli
Beiträge: 117
Registriert: Di Jun 27, 2017 12:09 pm

Re: Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Beitrag von schubbiaschwilli »

Gude!

Mit

Code: Alles auswählen

par(xpd=FALSE)
par(xpd=TRUE)
geht's auch... OK.

Dank&Gruß
schubbiaschwilli
lotti1798
Beiträge: 7
Registriert: Di Feb 02, 2021 7:05 pm

Re: Lineare Regressionslinie zu Zeitreihe hinzufügen mit Legende außerhalb

Beitrag von lotti1798 »

Vielen Dank euch Beiden!
Da habe ich ja jetzt die Qual der Wahl... super! ;)
Antworten