3
我有一個矩陣(origmatrix),我想在其上執行每列功能。我想把這個函數的結果放到另一個矩陣(newmatrix)中,該行的行號對應於原始矩陣中的列號。在真實數據集中,有20000行具有複雜的功能,所以我想使用一種應用程序以便能夠並行化項目。有沒有辦法讓我將數據從應用程序中獲取到newmatrix中?任何幫助將不勝感激!在R中的並行sapply中設置矩陣行中的值
origmatrix = matrix(1:50, 10, 5)
colnames(origmatrix) = letters[1:5]
newmatrix = matrix(0, 5,2)
colnames(newmatrix) = c("Identifier","mean")
boertje = function (x){
newlist[which(colnames(origmatrix)==x),2]= mean(origmatrix[,x])
}
sapply(colnames(origmatrix), boertje)
當我需要從我的函數返回1值時,這很好用。當我的函數返回3個值tho(在這種情況下,三明治包中的一個coeftest)時,我似乎無法使其工作。我嘗試過使用'newmatrix [,2:5] = unlist(...)',但這似乎也不起作用。 – Xizam
@Xizam也許你可以更新這個問題來顯示你的函數中的值是如何返回的(3個值的列表?),我們可以從那裏拿走它?如果您有多個值,您是否希望每個值都顯示在單獨的列中?我不想猜測你的解決方案,所以如果你能明確說明返回值的結構會更好! :-) –
@Xizam我已更新。編輯可能會解決你的問題? –