作者celestialgod (天)
看板R_Language
标题Re: [问题] 回圈中有回圈 如何用apply系列函数完成
时间Thu Mar 24 21:17:16 2016
※ 引述《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://webptt.com/cn.aspx?n=bbs/R_Language/M.1458825439.A.542.html
1F:推 gbd37: 了解 谢谢Orz 03/25 00:00