簡體   English   中英

在R中的三維數組中將n維加在一起

[英]Add together n-dimensions in a three dimensional array in R

大家! 我有一個非常直接的問題。 我有一個名為w的三維數組,如下所示:

> 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

現在,它只是一種表示 ,所以這不是實際數據。

問題是我已將第三維中的元素加在一起,如w[1, 1, 1] + w[1, 1, 2] + w[1, 1, 3] ,但我不知道如何第三個維度的許多成員將擁有。 我不能在for循環中執行它,因為它已經在嵌套的for循環中(兩個for循環)。

所以,我基本上必須加在一起w[, , 1] + w[, , 2] + w[, , 3]....

我試過類似的東西

for (k in 1:dims(w)[3]) # it is one of the for loops
lapply(w[, , k], '+') 

但它只打印w[, , 1] ,就是這樣。

在c ++中,我認為你只需要編寫y + = w [,, n]。

我真的很感激我對如何處理這個或者解決方案的想法:)。

*編輯:一個非常尷尬的錯字。

看起來這樣做你想要的:

# sample data
w<-array(sample(1:4),dim=c(3,3,3))

# sum over dimensions 1 and 2
apply(w, MARGIN=c(1, 2), sum)

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM