1
對於處理二維矩陣,rbind
和cbind
是有用的功能。是否有更多的通用功能在更多維度上執行相同的操作?假設我有數據是這樣的:多維綁定
data <- lapply(c(11,22,33), function(i) matrix(i, nrow=2, ncol=4))
我想獲得的是:
data <- do.call(c, data)
dim(data) <- c(2, 4, 3)
但不必工作了所有的維度自己。
是否有提供此功能的功能,既可以是內置的,也可以是相當常見的軟件包的一部分?或者你想分享一下你自己的想法:這樣一個功能如何最優雅地實現?
加分點:
- 如果函數給出了尺寸數量級的一些控制,然後
aperm
的後續調用可以避免的。 - 這將是很好,如果可以通過要麼傳遞多個函數參數或的參數的
list
工作,但使用do.call
或list
,任何一個就足夠了。 - 我想使用
.combine
參數調用foreach這樣的函數。所以它應該能夠使用形式f(f(f(a, b), c), d)
(每個調用只需要兩個參數,通常是前一個調用的結果)或者甚至是f(f(a, b), c, d)
(兩個以上的參數,第一個仍然可能是前一個調用的結果),其中a, b, c, d
全部具有相同的大小,從而導致尺寸1高於這些尺寸的矩陣,並且該尺寸中的尺寸爲4,對應於4個元素a
至d
。
有一個名爲** abind **的軟件包具有相同名稱的功能。 – joran
@joran,帖子爲答案! –