【发布时间】:2010-08-31 21:26:54
【问题描述】:
我目前正在运行许多如下所示的应用行:
test=data.frame(t=seq(1,5,1),e=seq(6,10,1))
mean(apply(test,2,mean))
我想将第二行转换为 mclapply,它产生与 lapply 相同的结果。我意识到我可以使用 for 循环从 lapply 语句中提取每个项目,然后在该向量上使用均值,但这会降低我试图通过使用 mclapply 来提高的性能。问题是 lapply 和 mcapply 返回一个意味着不能使用的列表。我可以使用 [[]] 来获取实际值,也可以使用 test$t 和 test$e 但 test 中的列数是可变的,通常超过 1,000。必须有一种更简单的方法来处理这个问题。基本上我想得到这个陈述的意思:
mclapply(test,mean,mc.preschedule=TRUE)
最好不生成新变量或使用 for 循环。解应该相当于得到这个语句的均值:
lapply(test,mean)
【问题讨论】:
标签: r