看板 R_Language 關於我們 聯絡資訊
※ 引述《gbd37 (有夠瞎)》之銘言: : [問題類型]: : 效能諮詢(我想讓R 跑更快) : [軟體熟悉度]: : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : 如範例 : 任意選取資料來跑for迴圈 : 因原本所寫函數類似範例迴圈中有迴圈又有迴圈 : 發現跑的效能速度很慢,想改善速度。 : 知道可以運用apply函數,但試了幾次都無法跑出想要結果(除錯除好久@_@) : 想請教大大們Orz,若是像範例code該如何不用for只用apply系列函數寫出來呢? : 還望指導,小弟必當認真學習 : 謝謝 : [程式範例]: : http://pastie.org/10772317 : [環境敘述]: : win10 R:3.2.4 : [關鍵字]:for apply 這直接用矩陣乘法就可以搞定了,用apply不會快到哪去 datx <- as.matrix(iris[1:32,-5]) daty <- as.matrix(mtcars[,1:4]) result11 <- datx %*% t(datx) all.equal(result1, result11, check.attributes = FALSE) # TRUE result21 <- datx %*% t(daty) all.equal(result2, result21, check.attributes = FALSE) # TRUE -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.152.118 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1458825439.A.542.html
gbd37: 瞭解 謝謝Orz 03/25 00:00