作者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
1F:推 puwawa:aaa[upper.tri(aaa)] <- 1 01/11 16:54
2F:→ laba1014:p大 抱歉我没有说清楚 我是想用 apply 来化简前面的 01/11 18:23
3F:→ laba1014:双回圈的部份 後面上三角不算重点XD 01/11 18:23
4F:→ laba1014:不过还是谢谢你 你教了我ㄧ个新技巧 ^ ^ 01/11 18:24
5F:推 puwawa:先令 aaa <- diag(3),在用上面指令,就可以避开双回圈 01/12 16:04