繁体   English   中英

R 中的并行计算:在同一个 session [多线程] 中运行多个文件

[英]Parallel computing in R: Run multiple files in same session [multi-threaded]

有什么方法可以在同一个 R session 中的多个文件上运行代码? 我可以在 RStudio 中使用多线程吗?

编辑:我有多个文件,我必须运行一个算法,这需要大约 2-5 小时,具体取决于文件大小和处理时间。 一种方法是启动多个 R 会话。 但是有什么办法可以并行化这个过程,即在同一个 session 中并行运行算法?

在不同的文件和多线程上运行代码是不同的事情。 使用lapply ,我可以在多个文件/数据帧上运行一个 function,但它将按顺序完成。 parallel这样的包允许我同时在多个内核上同时运行进程。

例如

list_of_dfs <- c("a.csv","b.csv")

lapply(list_of_dfs, read.csv) #opens and reads all CSVs from the list sequentially

对比

library(parallel)
list_of_dfs <- c("a.csv","b.csv")

mclapply(list_of_dfs, read.csv) #opens and reads all CSVs from the list at the same time

请注意,在这两种情况下,最终结果是相同的,由于并行化,只有第二种情况可能更快。 因此,这取决于您的多线程用例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM