Element einer Matrix übertragen.

For(), If(), While() und Verwandte. Diskussion von programmiertechnischen Fragen.

Element einer Matrix übertragen.

Beitragvon Bovar » Sa 10. Sep 2016, 12:03

Hallo zusammen,

ich möchte, dass R das letzte Element der Reihe i als erstes Element in Reihe i+1 überträgt.
Wie kann ich das anstellen? Ich habe das zunächst mit einem Loop versucht, leider ohne Erfolg.

Code: Alles auswählen
#Beispiel
a <-c(10,40)
a <- matrix(a, ncol=2, nrow =1)
a <- rbind(a,c(0,0))
a <- rbind(a,c(0,0))

#Test
for (i in 2:3) {
for (j in 1:3){
    a[i,1] <- a[j,2]
  }
}
Bovar
 
Beiträge: 7
Registriert: Di 30. Aug 2016, 20:05
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Element einer Matrix übertragen.

Beitragvon Bovar » Mo 12. Sep 2016, 15:02

So sieht es am Anfang aus:

Row Col1 Col2
1 10 40
2
3

Nun soll im Loop die 40 als erstes Element in Row 2. Ganz generell soll die Zahl in Col 2 immer als erstes Element in Col1 landen (siehe x).
Hat jemand eine Idee?

Row Col1 Col2
1 10 40
2 40 x
3 x 0
Bovar
 
Beiträge: 7
Registriert: Di 30. Aug 2016, 20:05
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Element einer Matrix übertragen.

Beitragvon MsOphelia » Mo 12. Sep 2016, 16:45

Wie wäre es mit dieser etwas kürzeren Lösung?

Code: Alles auswählen
for (j in 2:3){
  a[j,1] <- a[j-1,2]
}


Zumindest führt sie bei mir zu diesem Ergebnis
Code: Alles auswählen
> a
     [,1] [,2]
[1,]   10   40
[2,]   40    0
[3,]    0    0



Wobei ich mich schon frage, wofür man das brauchen könnte :-D
MsOphelia
 
Beiträge: 25
Registriert: Mo 31. Aug 2015, 13:31
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu Programmierkonzepte

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron