I'm trying to decrease run time of my code by using doParallel
package in R.
I'm calling a function awareRateSIR
that some extra packages are used in the body of this function. I get some error like
could not find function "vcount" and..
I know vcount
is a function of package igraph
that is used in awareRateSIR
) but it's not the only one. How can I solve this problem? I've thought I should pass all packages name that is used in my function awareRateSIR
but I don't know how I cant export multiple function in foreach
or how I can export multiple package name.
This is my code:
tp<-foreach(i=1:iter, .inorder = FALSE, .export = "awareRateSIR",
.packages = "igraph", .packages="doParallel")%dopar%{
tp <- awareRateSIR(graphContact, graphCom,state)
return(tp)
}
if I don't pass these packages I will get error states some function are unknown if I pass all the packages I will get error:
Error in foreach(i = 1:iter, .inorder = FALSE, .export = "awareRateSIR", : formal argument ".packages" matched by multiple actual arguments"
thanks in advance
You should pass all the packages required, using c
function, as below :
tp<-foreach(i=1:iter, .inorder = FALSE, .export = "awareRateSIR",
.packages = c("igraph", "doParallel"))%dopar%{
tp <- awareRateSIR(graphContact, graphCom,state)
return(tp)
}