symmetrische Matrix erstellen, for-schleife funktioniert nicht

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

Moderatoren: EDi, jogo

Antworten
pinguin111
Beiträge: 10
Registriert: Mo Dez 10, 2018 4:31 pm

symmetrische Matrix erstellen, for-schleife funktioniert nicht

Beitrag von pinguin111 » So Dez 23, 2018 6:38 pm

Liebe Leute,
ich würde gerne eine symmetrische matrix erstellen und habe mit der oberen rechten seite angefangen.

k=matrix(nrow=5,ncol=5)
k=matrix(data=NA,nrow=5,ncol=5)

p=0.8
for (i in 1:5) {k[i,i]=0.25}
for (i in 1:4) {k[i,i+1]=0.25*p}
for (i in 1:3) {k[i,i+2]=0.25*p^2}
for (i in 1:2) {k[i,i+3]=0.25*p^3}
for (i in 1:1) {k[i,i+4]=0.25*p^4}

Das passt.

#Nun würde ich gerne obiges durch eine Schleife darstellen, da die Matrix später größer sein muss, und ich nicht alles per Hand einzeln eingeben kann, und zwar mit

for (j in 0:4){for (i in 1:5-j) {k[i,i+j]=0.25*p^j}}

aber das funktioniert nicht, da unter der Diagonale und ich habe keine ahnung, warum es nicht funktioniert. Kann mir bitte bitte jemand helfen?

Viele Grüße!

Athomas
Beiträge: 176
Registriert: Mo Feb 26, 2018 8:19 pm

Re: symmetrische Matrix erstellen, for-schleife funktioniert nicht

Beitrag von Athomas » So Dez 23, 2018 7:03 pm

R ist Weltmeister im Schleifen verbergen :D :

Code: Alles auswählen

a <- matrix(rep(NA,25), ncol=5)
p <- 0.8

a <- 0.25*p^(abs(col(a) - row(a)))
"Man kann richtige Fragen stellen und trotzdem falsche Antworten geben" (A. Nahles, 2019)

pinguin111
Beiträge: 10
Registriert: Mo Dez 10, 2018 4:31 pm

Re: symmetrische Matrix erstellen, for-schleife funktioniert nicht

Beitrag von pinguin111 » So Dez 23, 2018 8:04 pm

wow, ich bin beeindruckt. Vielen vielen herzlichen Dank!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast