我是R编程的新手,我有下面的代码,我知道Windows不支持多核,但是我不知道如何更改这部分代码。
有人可以在不使用mc.cores功能的情况下建议我一个等效的代码吗?
rpl <- unlist( lapply( waydf$geometry$coordinates , nrow ) ) # row per line
waydf <- waydf[ rpl > 1 , ]
ll <- parallel::mclapply( waydf$geometry$coordinates , st_linestring,
mc.cores =parallel::detectCores() - 1 )
outdf <- sf::st_sf(
line_geometry = sf::st_sfc( ll , crs = epsg ) ,
osm_id = waydf$id
)
最佳答案
如果您要做的就是使它不会并行运行,则只需告诉它使用1个内核,然后它将在后台使用lapply
。
ll <- parallel::mclapply(waydf$geometry$coordinates, st_linestring, mc.cores = 1)
或者只是将
mclapply
换成lapply
。ll <- lapply(waydf$geometry$coordinates, st_linestring)
关于r - Windows不支持mc.cores> 1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46343775/