【发布时间】:2011-10-14 15:57:03
【问题描述】:
我是 R 的新手,我想为 50 个后缀为 1 到 50 的不同数据(点名类)运行一个特定函数(理想的 pscl 包),我想保存结果在对象中也有 1 到 50 后缀,但我做不到。
应用不起作用,因为我需要在理想函数中指定附加参数,并且我已经尝试创建一个新函数来设置附加参数并允许仅使用数据指定函数,但它在第二步(不识别物体)。
我的函数有数据对象:rc.1, rc.2, ..., rc.50 并尝试执行以下操作 - 密切关注我在 Stata 中的操作方式...
for (i in 1:3) {
est.leg[i]<-ideal(rc[i], maxiter=1000, burnin=500, thin=10, normalize=TRUE)
}
并且它不在 rc[i] 中评估,说“找不到对象 'rc'”
我也试过了:
loop.ideal<- function(zz){
ideal(zz, d=1, maxiter=100, burnin=50, thin=10, normalize=TRUE)
}
但在测试函数时,它不适用于迭代。
非常感谢任何帮助!!!!
【问题讨论】:
-
欢迎来到 StackOverflow!除非您提供其他人可以在自己的机器上运行的可重现示例,否则任何人都很难提供帮助。这将包括您数据的一小部分(使用
dput())... -
我认为 lapply,正如 Joris 所建议的那样,是一种方式。但是你可能需要等待很长时间才能运行理想的 50 次。特别是如果数据不是那么小。不能并行运行吗?
-
@Manoel:按照下面@Joris 的解决方案,如果您使用的是多核Mac 或Linux 机器,您可以
library(multicore); mclapply(...) -
@Ben Bolker - 见this。所以,是的。 ;)