Re: [程式] R apply
※ 引述《laba1014 (我也要去美國!!!)》之銘言:
想請問板上前輩 以下的雙迴圈要怎樣用 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,
01/11 16:54
→
01/11 18:23,
01/11 18:23
→
01/11 18:23,
01/11 18:23
→
01/11 18:24,
01/11 18:24
推
01/12 16:04,
01/12 16:04
抱歉我回個文 佔一下版面 版友請多包涵
P大 對不起 我還是說的不清不楚 XD
我是想寫個類似
compa <- function(s,t)
{ y <- s
x <- matrix(t,n,1)
q <- matrix(NA,n,1)
for (i in 1:n)
if (x[i,1] > y) {q[i,1] <- 0 } else {q[i,1] <- 1}
return(q)
}
n <- 100
a <- matrix(rnorm(n,0,1),n,1)
qwerty <- sapply(1:n,function(i)compa(a[i,1],a))
這樣的東西 上面的寫法是可以跑出我要的矩陣
但是中間還是要用迴圈 (迴圈在simulation裡很討厭)
所以我想問看看有沒有不用迴圈就可以漂亮apply的作法
佔用你的時間很抱歉 <(_ _)>
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.8.69
討論串 (同標題文章)