使用带有apply的多个参数

时间:2013-11-14 19:06:20

标签: r function multiprocessing apply

我正在处理一个可能很大的数据集,并且正在努力为它应用一个函数。

第1步:让我们创建一些数据。

n<-3 #this number gets larger in application.
precision<-0.3 #This number gets smaller in application.
support<-matrix(seq(0,1,by=precision), ncol=1)
support_n<-as.matrix(combn(support, n))

foo<-function(x,y){
  part_1<-mean(x) # note x is a vector
  out<-part_1+y #note y is not a vector
  out
}

步骤2:我打算制作这个多核,因为当n变大并且精度变高时,地狱就会松动。因此,如果 - 然后循环不可用,除了少量,大部分工作必须通过申请完成,所以我可以使用&#34; mcapply&#34;来自多核包。我想在对象support_n

中的每个列元素组合上使用foo函数

第3步:正确的输出 - (我无法通过申请执行此操作)

out_final<-support_n #this will just be a placeholder for the right answers.
system.time(
  for(j in 1:dim(support_n)[2]){ #
    for(i in 1:n){
      out_final[i,j]<-foo(support_n[-i,j],support_n[i,j])
    }
  }
)

我的问题:如何以能够与mcapply并行分发作品的方式创建out_final?

0 个答案:

没有答案