在R中使用snowfall软件包进行模拟

在R中使用snowfall软件包进行模拟,r,parallel-processing,snowfall,R,Parallel Processing,Snowfall,我开始用降雪包这样做: library(snowfall) sfInit(parallel=TRUE, cpus=6, type="SOCK") #loading packages sfLibrary(package = lars) sfLibrary(package=covTest) 要使用SFLAPPY多次计算的函数: funkcja <- function(i,k=5) { beta <- c(k,k,0,k,k,rep(0,35)) X <- matrix(

我开始用降雪包这样做:

library(snowfall)
sfInit(parallel=TRUE, cpus=6, type="SOCK")
#loading packages
sfLibrary(package = lars)
sfLibrary(package=covTest) 
要使用SFLAPPY多次计算的函数:

funkcja <- function(i,k=5)
{
  beta <- c(k,k,0,k,k,rep(0,35))
  X <- matrix(rnorm(100*40),100,40)
  Y <- X%*%beta+rnorm(100)
  lasso.lars <- lars(X,Y,intercept=FALSE,use.Gram=FALSE)
  test <- covTest(lasso.lars,X,Y,sigma.est=1)
  test
}
我得到一个错误: “checkForRemoteErrors(val)中出错:6个节点产生错误;第一个错误:找不到对象“Y”。但是,当我隐藏最后一行并更改lasso.lars的测试时,就不再有关于向量Y的trobule:

funkcja <- function(i,k=5)
{
  beta <- c(k,k,0,k,k,rep(0,35))
  X <- matrix(rnorm(100*40),100,40)
  Y <- X%*%beta+rnorm(100)
  lasso.lars <- lars(X,Y,intercept=FALSE,use.Gram=FALSE)
  #test <- covTest(lasso.lars,X,Y,sigma.est=1)
  lasso.lars
}

我可以工作。我将非常感谢您的帮助。

我猜Y是隐藏的,是内部变量。以下函数起作用(将“Y”的大小写改为“Y”)


funkcja谢谢,现在可以用了。你有什么建议可以隐藏你的秘密吗?
funkcja <- function(i,k=5)
{
  beta <- c(k,k,0,k,k,rep(0,35))
  X <- matrix(rnorm(100*40),100,40)
  Y <- X%*%beta+rnorm(100)
  lasso.lars <- lars(X,Y,intercept=FALSE,use.Gram=FALSE)
  #test <- covTest(lasso.lars,X,Y,sigma.est=1)
  lasso.lars
}
test <- covTest(lasso.lars,X,Y,sigma.est=1)
lars(X,Y,intercept=FALSE,use.Gram=FALSE)
funkcja <- function(i,k=5)
{
  beta <- c(k,k,0,k,k,rep(0,35))
  X <- matrix(rnorm(100*40),100,40)
  y <- X %*% beta + rnorm(100)

  lasso.lars <- lars(X,y,intercept=FALSE,use.Gram=FALSE)
  test <- covTest(lasso.lars,X,y,sigma.est=1)
  test
}