Skip to Content
高效R语言编程
book

高效R语言编程

by Colin Gillespie, Robin Lovelace
August 2018
Intermediate to advanced
227 pages
4h 16m
Chinese
China Electric Power Press Ltd.
Content preview from 高效R语言编程
152
7
library("parallel")
no_of_cores = detectCores()
detectCores() 的返回值取决于操作系统与芯片制造商,详见
help("detectCores")。对于多数标准机器,detectCores() 返回同时运行的
线程数。
Apply
函数的并行版本
并行应用程序中常见的函数是 lapply()sapply() apply() 并行化替代
函数。下面代码显示并行化的版本以及它们的参数:
parLapply(cl, x, FUN, ...)
parApply(cl = NULL, X, MARGIN, FUN, ...)
parSapply(cl = NULL, X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
关键一点是 parLapply() apply() 间的参数差异很少,所以如果你已熟
apply
家族的函数,进行并行化计算的门槛是很低的。这些函数中的每一个
都有一个 makeCluster() 函数调用时生成的参数 cl。该函数除别的功能外,
指定了要使用的
CPU
数目。
例子:蛇梯棋游戏
并行计算是
Monte Carlo
模拟的理想选择。每个核独立模拟了该模型的实
现。最后,我们收集结果。在
efficient
包,有一个模拟蛇梯棋游戏的函数
snakes_ladders()
3
下面代码演示了如何使用 sapply() 模拟
N
游戏:
N = 10^4
sapply(1:N, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

数据科学之编程技术:使用R进行数据清理、分析与可视化

数据科学之编程技术:使用R进行数据清理、分析与可视化

迈克尔 弗里曼, 乔尔 罗斯
R数据科学

R数据科学

Hadley Wickham, Garrett Grolemund

Publisher Resources

ISBN: 9787519820855