for schleife mit erhaltenem Wert = neuer Wert

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

Moderatoren: EDi, jogo

Antworten
wintwin111

for schleife mit erhaltenem Wert = neuer Wert

Beitrag von wintwin111 »

Hallo zusammen,

ich möchte eine Schleife programmieren, die mir einen Wert für jeden Schleifendurchgang ausgibt und diesen Wert als Startwert für den neuen Schleifendurchgang verwendet. Beispiel:

Startwert: 100
Zu den 100 soll eine Standardnormalverteilte Zufallsvariable hinzuaddiert werden; also 100+x

Nächster Durchlauf: Startwert: 100+x
Nun soll wieder eine Zufallsvariable hinzuaddiert werden; also 100+x+y

Nächster Schleifendurchlauf: (100+x+y)+z
etc.

Sowas in der Art in einer Schleife:

Code: Alles auswählen

#Erster Schleifendurchlauf
100+rnorm(1,0,1)
96.1766
#Zweiter Schleifendurchlauf
96.1766+rnorm(1,0,1)
95.8862
#usw.

Vielen Dank im Voraus,

wintwin
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: for schleife mit erhaltenem Wert = neuer Wert

Beitrag von jogo »

Code: Alles auswählen

100 + cumsum(rnorm(100, 0, 1))
Wenn es unbedingt eine Schleife sein muss, würde ich auf gar keinen Fall 100-mal die Funktion rnorm() aufrufen, sondern:

Code: Alles auswählen

r <- rnorm(100, 0, 1)
x <- 100
for (i in 1:100) {
  x <- x + r[i]
  print(x)
}
Es (d.h. wie man dies macht) hängt auch davon ab, was man mit den Werten anschließend machen will.
Was soll denn mit den so generierten Werten geschehen?

Gruß, Jörg
wintwin111

Re: for schleife mit erhaltenem Wert = neuer Wert

Beitrag von wintwin111 »

Eigentlich soll mit den werten nichts geschehen :D
Die Funktion in der Schleife sollen verschiedene Zeitreihenmodelle sein und die Ergebnisse aus der Schleife soll ein Forecast meiner Zeitreihe werden.
Antworten