alle zusammen! Ich habe ein sehr gerades Problem. Ich habe eine dreidimensionale Anordnung w, wie folgt aufgerufen:Fügen Sie n-Dimensionen in einem dreidimensionalen Array in R
> w
, , 1
[,1] [,2] [,3]
[1,] 0.5 0.5 0.5
[2,] 0.5 0.5 0.5
, , 2
[,1] [,2] [,3]
[1,] 0.1 0.1 1.0
[2,] 0.5 0.5 0.5
Nun ist es nur eine Darstellung, so ist dies nicht die eigentlichen Daten.
Die Sache ist, dass ich die Elemente aus den dritten Dimensionen, wie w[1, 1, 1] + w[1, 1, 2] + w[1, 1, 3]
zusammenfüge, aber ich weiß nicht, wie viele Mitglieder die dritte Dimension haben wird. Ich kann es nicht in einer for-Schleife tun, weil es bereits in einer verschachtelten for-Schleife ist (zwei for-Schleifen).
Also, ich habe im Grunde fügen zusammen w[, , 1] + w[, , 2] + w[, , 3]....
Ich habe versucht, so etwas wie
for (k in 1:dims(w)[3]) # it is one of the for loops
lapply(w[, , k], '+')
aber er druckt nur die w[, , 1]
und das ist es.
In C++, ich denke, Sie würden einfach schreiben y + = w [,, n].
Ich würde wirklich einige Gedanken darüber schätzen, wie ich diese oder vielleicht eine Lösung angehen sollte :).
* bearbeiten: ein sehr peinlicher Tippfehler.
Versuchen Sie mit 'rowSums' und' colSums'. Also nutze die Daten unten. 'rowSums (mein.array, dimmt = 2)' – user20650