Hallo我有兩個交錯循環的輸出轉換爲矩陣的麻煩。這些循環計算兩個colmumns最小值的所有組合的總和。因此,在一個3列的情況下,所有最小值1與1,1與2,1與3,2與1,2與2,...等等的總和。R:將兩個交錯循環的輸出轉換爲矩陣
此代碼向我顯示結果,這是正確的,但我怎樣才能將它轉換爲矩陣?
for (i in 1:ncol(InputMatrix1))
{for (j in 1:ncol(InputMatrix1))
{print(colSums(pmin(InputMatrix1[,i], InputMatrix1[,j])))}
}
[1] 1
[1] 0.6
[1] 0.7
[1] 0.6
[1] 1
[1] 0.5
[1] 0.7
[1] 0.5
[1] 1
我的目標是有一個輸出矩陣是:
[,1] [,2] [,3]
[1,] 1with1 1with2 1with3
[2,] 2with1 2with2 2with3
[3,] 3with1 3with2 3with3
The results for These are=
1with1/2with2/3with3=1
1with2/2with1=0,6
1with3/3with1=0,5
2with3/3with2=0,7
我已經嘗試了很多,包括as.matrix功能,但我沒有得到期望的結果。
我真的很感謝您提供任何幫助!謝謝。
的InputMatrix1是這樣的:
[,1] [,2] [,3]
2016-12-02 0.00000000 0.000000000 0.00000000
2016-12-05 0.00000000 0.000000000 0.00000000
2016-12-06 0.00000000 0.000000000 0.00000000
2016-12-07 0.00000000 0.000000000 0.00000000
2016-12-08 0.00000000 0.000000000 0.00000000
2016-12-09 0.03136165 0.000000000 0.08915036
2016-12-12 0.00000000 0.016019618 0.00000000
2016-12-13 0.00000000 0.000000000 0.00000000
2016-12-14 0.05338029 0.114726774 0.01268025
2016-12-15 0.17633198 0.060615604 0.26232115
2016-12-16 0.11031648 0.085173610 0.13183337
2016-12-19 0.11706411 0.057566360 0.09535812
2016-12-20 0.09325712 0.006665265 0.11754523
2016-12-21 0.09171604 0.041281630 0.05403903
2016-12-22 0.08014103 0.067453160 0.04703658
2016-12-23 0.05892727 0.049929460 0.04630817
2016-12-27 0.03526304 0.018427273 0.00000000
2016-12-28 0.11058756 0.136396545 0.13632665
2016-12-29 0.04165344 0.140486343 0.00740110
2016-12-30 0.00000000 0.205258358 0.00000000
你可以添加dput的'結果( InputMatrix1)'所以我們可以重現您的數據來確認我們的答案? – Tensibai
您的示例代碼將失敗,因爲'colSums'需要至少兩個維度的數組。改用'sum'。 –