我正在处理一个可能很大的数据集,并且正在努力为它应用一个函数。
第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?