撰寫高效 R 程式碼
Colin Gillespie
Jumping Rivers & Newcastle University
library("parallel")
apply() 類似 for 迴圈
10 欄、10,000 列的矩陣:
m <- matrix(rnorm(100000), ncol = 10)
apply 比 for 迴圈更俐落res <- apply(m, 1, median)
parApply()library("parallel")
copies_of_r <- 7
cl <- makeCluster(copies_of_r)
parApply(cl, m, 1, median)
stopCluster(cl)
正如 Lewis Caroll 所說:
The hurrier I go, the behinder I get.
# Serial version
apply(m, 1, median)
# Parallel version
parApply(cl, m, 1, median)
撰寫高效 R 程式碼