outer
是你在找什麼。
baseline_diff <- outer(baseline.comp[['1970_pred']],baseline.comp[['1970_pred']], '-')
## if you want to set the dimension names (but they will be very long!)
# dimnames(baseline_diff) <- list(baseline.comp[['cluster']],
# baseline.comp[['cluster']])
baseline_diff
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0.0000 -0.0623 -0.0247 0.0355 0.0760 -0.0096 0.0345 -0.0756 -0.0456 -0.0698
[2,] 0.0623 0.0000 0.0376 0.0978 0.1383 0.0527 0.0968 -0.0133 0.0167 -0.0075
[3,] 0.0247 -0.0376 0.0000 0.0602 0.1007 0.0151 0.0592 -0.0509 -0.0209 -0.0451
[4,] -0.0355 -0.0978 -0.0602 0.0000 0.0405 -0.0451 -0.0010 -0.1111 -0.0811 -0.1053
[5,] -0.0760 -0.1383 -0.1007 -0.0405 0.0000 -0.0856 -0.0415 -0.1516 -0.1216 -0.1458
[6,] 0.0096 -0.0527 -0.0151 0.0451 0.0856 0.0000 0.0441 -0.0660 -0.0360 -0.0602
[7,] -0.0345 -0.0968 -0.0592 0.0010 0.0415 -0.0441 0.0000 -0.1101 -0.0801 -0.1043
[8,] 0.0756 0.0133 0.0509 0.1111 0.1516 0.0660 0.1101 0.0000 0.0300 0.0058
[9,] 0.0456 -0.0167 0.0209 0.0811 0.1216 0.0360 0.0801 -0.0300 0.0000 -0.0242
[10,] 0.0698 0.0075 0.0451 0.1053 0.1458 0.0602 0.1043 -0.0058 0.0242 0.0000
要僅顯示在Matrix
包的下(或上)的三角形使用tril
或triu
library(Matrix)
tril(baseline_diff)
10 x 10 Matrix of class "dtrMatrix"
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 0.0000 . . . . . . . . .
[2,] 0.0623 0.0000 . . . . . . . .
[3,] 0.0247 -0.0376 0.0000 . . . . . . .
[4,] -0.0355 -0.0978 -0.0602 0.0000 . . . . . .
[5,] -0.0760 -0.1383 -0.1007 -0.0405 0.0000 . . . . .
[6,] 0.0096 -0.0527 -0.0151 0.0451 0.0856 0.0000 . . . .
[7,] -0.0345 -0.0968 -0.0592 0.0010 0.0415 -0.0441 0.0000 . . .
[8,] 0.0756 0.0133 0.0509 0.1111 0.1516 0.0660 0.1101 0.0000 . .
[9,] 0.0456 -0.0167 0.0209 0.0811 0.1216 0.0360 0.0801 -0.0300 0.0000 .
[10,] 0.0698 0.0075 0.0451 0.1053 0.1458 0.0602 0.1043 -0.0058 0.0242 0.0000
謝謝!這真的很簡潔! – Tom 2012-08-16 07:08:34