如何在R中将foreach::foreach更改为简单循环
我正在尝试在R中运行此代码如何在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],
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(...)