Ich habe eine Matrix aus einer sehr langen Reihe von ganzen Zahlen zwischen 1 und 6. Ich möchte eine Ausgangsmatrix von der gleichen Länge wie die ursprüngliche Matrix und 6 Spalten (der Maximalwert in die ursprüngliche Matrix), wobei 1 n Mal der Wert der ersten angetroffenen ganzen Zahl in der Spalte des ganzzahligen Wertes wiederholt wird. (dh wenn der erste Wert 6 ist, würde er sich 1 x 6 mal in der 6. Spalte der Ausgabematrix wiederholen und dann würde der Wert in Zeile 7 der ursprünglichen Matrix für die nächste Wiederholungssequenz verwendet werden. Ich habe ein Beispiel gezeigt die unten. gibt es eine effiziente Möglichkeit, diese in R zu tun?Bedingte Sequenzwiederholung In R
Original Matrix output Matrix
c1 c1 c2 c3 c4 c5 c6
R1 1 R1 1 0 0 0 0 0
R2 1 R2 1 0 0 0 0 0
R3 3 R3 0 0 1 0 0 0
R4 2 R4 0 0 1 0 0 0
R5 6 R5 0 0 1 0 0 0
R6 1 R6 1 0 0 0 0 0
R7 1 R7 1 0 0 0 0 0
R8 1 R8 1 0 0 0 0 0
R9 1 R9 1 0 0 0 0 0
R10 4 R10 0 0 0 1 0 0
R11 4 R11 0 0 0 1 0 0
R12 2 R12 0 0 0 1 0 0
R13 1 R13 0 0 0 1 0 0
R14 3 R14 0 0 1 0 0 0
R15 1 R15 0 0 1 0 0 0
ein weiteres Beispiel für die Eingangs- und Ausgangsmatrix meines obiges Beispiel klarer zu machen.
Input matrix Output matrix
c1 1 2 3 4 5 6
1 2 1 0 1 0 0 0 0
2 2 2 0 1 0 0 0 0
3 1 3 1 0 0 0 0 0
4 6 4 0 0 0 0 0 1
5 3 5 0 0 0 0 0 1
6 4 6 0 0 0 0 0 1
7 5 7 0 0 0 0 0 1
8 4 8 0 0 0 0 0 1
9 5 9 0 0 0 0 0 1
10 4 10 0 0 0 1 0 0
11 3 11 0 0 0 1 0 0
12 3 12 0 0 0 1 0 0
13 2 13 0 0 0 1 0 0
14 3 14 0 0 1 0 0 0
15 4 15 0 0 1 0 0 0
16 5 16 0 0 1 0 0 0
17 5 17 0 0 0 0 1 0
18 5 18 0 0 0 0 1 0
Ich habe das zweite Beispiel bearbeitet. – user3690243