Re: [程式] R apply

看板Statistics作者 (........)時間16年前 (2010/01/13 22:28), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串4/4 (看更多)
按程式揣測,產生一串向量後, 讓一個一個元素逐一來比較其向量內所有元素大小, 最後再合併成一個矩陣,對吧!? 提供另外一個方案,一行程式即可: a <- rnorm(10, 0, 1) q <- sapply(1:length(a), function(i) a <= a[i]) + 0 矩陣 q 即為所求~! ※ 引述《memphis (讓你喜歡這世界~)》之銘言: : ※ 引述《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 : : 先謝謝肯回答的版友 <(_ _)> : 看起來是一個vector裡要兩兩比較大小 : 如果我沒有會錯意的話... : 方案一 : a <- rnorm(100,0,1) : final <- c() : for(i in 1:length(a)){ : temp <- rev(as.numeric(a[i]>a)) : final <- rbind(final, temp) : } : 方案二 : a <- rnorm(100,0,1) : b <- combn(a,2) : c <- as.numeric(b[1,]>b[2,]) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.0.238

01/14 14:32, , 1F
K大太神啦 感謝
01/14 14:32, 1F
文章代碼(AID): #1BJTYSct (Statistics)
討論串 (同標題文章)
本文引述了以下文章的的內容:
程式
1
1
完整討論串 (本文為第 4 之 4 篇):
程式
1
1
程式
1
1
程式
2
5
文章代碼(AID): #1BJTYSct (Statistics)