[英]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.