作者laba1014 (我也要去美國!!!)
站內Statistics
標題[程式] R apply
時間Mon Jan 11 14:55:42 2010
想請問板上前輩 以下的雙迴圈要怎樣用 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