[程式] R apply

看板Statistics作者 (我也要去美國!!!)時間16年前 (2010/01/11 14:55), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/4 (看更多)
想請問板上前輩 以下的雙迴圈要怎樣用 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

01/11 16:54, , 1F
aaa[upper.tri(aaa)] <- 1
01/11 16:54, 1F

01/11 18:23, , 2F
p大 抱歉我沒有說清楚 我是想用 apply 來化簡前面的
01/11 18:23, 2F

01/11 18:23, , 3F
雙回圈的部份 後面上三角不算重點XD
01/11 18:23, 3F

01/11 18:24, , 4F
不過還是謝謝你 你教了我ㄧ個新技巧 ^ ^
01/11 18:24, 4F

01/12 16:04, , 5F
先令 aaa <- diag(3),在用上面指令,就可以避開雙迴圈
01/12 16:04, 5F
文章代碼(AID): #1BIijofM (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1BIijofM (Statistics)