如何在R中将foreach::foreach更改为简单循环

如何在R中将foreach::foreach更改为简单循环,r,R,我正在尝试在R中运行此代码 if (bootstrap) { mle_new = foreach::foreach(j = 1:nsim, .combine = rbind, .packages = "foreach") %do% zih.mle(sample(x,size = N, replace = T),n= mle_ori[1],alpha1= mle_ori[2],alpha2=mle_ori[3],

我正在尝试在R中运行此代码

if (bootstrap) {
  mle_new = foreach::foreach(j = 1:nsim, .combine = rbind, 
         .packages = "foreach") %do% zih.mle(sample(x,size = N, replace = T),n= mle_ori[1],alpha1= mle_ori[2],alpha2=mle_ori[3],
                                             type = "zi",lowerbound, upperbound,distr='bb.zihmle')
  mle_new = t(mle_new)
}else {
  mle_new = matrix(rep(mle_ori, nsim), ncol = nsim)
}
然而,我得到了一些错误,我想让这成为一个简单的循环? 你知道吗?我很感激
另外,请有人解释一下它的作用:“:”在R中精确地执行?

在R中用于从包
foreach
中选择对象
foreach
。这通常用于防止名称空间冲突

例如,假设您有功能为
fun
package_1
,但也有功能为
fun
package_2
。然后调用
fun(…)
是不明确的,取决于
库(…)
调用的顺序。例如:

library(package_1)
library(package_2)

fun(...)
将从
package_2
调用
fun
函数。但是,如果您使用
,您可以安全地准确调用您想要的内容(在本例中,从
package\u 1
调用
fun
):

fun
需要导出,但不必加载。这意味着在这种情况下,
库(包1)
不是必需的。您仍然应该执行
library
调用,因为这会检查包是否已安装

类似于
,您可以使用
构造获取非导出对象:

package_1:::internal_function(...)
这通常用于未导出的包使用的函数。这些函数是“隐藏”的,不会导出


导出只是意味着当您调用
library(…)
时,它们被加载到您的命名空间中,然后您可以直接调用它们,即
fun(…)
。对于未报告的函数,您无法做到这一点,
是调用它们的唯一方法。

如果您创建一个小的可复制示例以及预期的输出,将更容易提供帮助。请阅读。谢谢您的详细解释。我感谢你的帮助。
package_1:::internal_function(...)