有没有办法在同一个R会话中对多个文件运行代码?我可以在RStudio中多线程吗?
编辑:,我有多个文件,我必须运行一个算法,根据文件大小和处理时间,大约需要2-5个小时。一种方法是启动多个R会话。但是,有什么方法可以并行这个进程,即在同一会话中并行运行算法吗?
发布于 2020-07-16 12:04:24
在不同的文件和多线程上运行代码是不同的事情。使用lapply
,我可以在多个文件/数据帧上运行一个函数,但它将按顺序执行。像parallel
这样的包允许我同时在多个核上并发地运行进程。
例如。
list_of_dfs <- c("a.csv","b.csv")
lapply(list_of_dfs, read.csv) #opens and reads all CSVs from the list sequentially
vs
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
请注意,在这两种情况下,最终结果是相同的,只有第二种情况可能由于并行化而更快。因此,这取决于您的多线程用例。
https://stackoverflow.com/questions/62934115
复制相似问题