看板 Statistics 關於我們 聯絡資訊
想請問板上前輩 以下的雙迴圈要怎樣用 apply 簡化計算 ? aaa <- matrix(1:3, 3, 1) # aaa 是依個 3*1 的 vector a[i,1]= i , i =1, 2, 3 q <- matrix(NA, 3, 3) For (j in 1:3) { For (i in 1:3) { if ( a[i,1] < a[j,1] ) { q[i,j] <- 0 } else { q[i,j] <- 1 } }} q 出來應該會是個上三角矩陣 1 1 1 0 1 1 0 0 1 先謝謝肯回答的版友 <(_ _)> -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.200.159
puwawa:aaa[upper.tri(aaa)] <- 1 01/11 16:54
laba1014:p大 抱歉我沒有說清楚 我是想用 apply 來化簡前面的 01/11 18:23
laba1014:雙回圈的部份 後面上三角不算重點XD 01/11 18:23
laba1014:不過還是謝謝你 你教了我ㄧ個新技巧 ^ ^ 01/11 18:24
puwawa:先令 aaa <- diag(3),在用上面指令,就可以避開雙迴圈 01/12 16:04