【问题标题】:Parsing error in MonteCarlo::MonteCarlo function in RR中的MonteCarlo::MonteCarlo函数中的解析错误
【发布时间】:2021-05-03 17:51:12
【问题描述】:

我正在尝试使用 R 中的 MonteCarlo 方法进行功率分析。

我创建了一个包含两个参数的函数,它输出一个布尔值(手动测试所有相关的参数值)。我还运行了 MonteCarlo 函数的婴儿示例,以确保我理解它并且它运行良好。

然而,当我尝试运行真实的东西时,我收到以下错误消息:

 Error in parse(text = all_funcs_found[i]) : <text>:1:1: unexpected '::' 
 1: ::

我通读了MonteCarlo函数的源码(which I found here)发现

 #loop through non-primitive functions used in func and check from which package they are

 for(i in 1:length(all_funcs_found)){
   if(environmentName(environment(eval(parse(text=all_funcs_found[i]))))%in%env_names){
     packages<-c(packages,env_names[which(env_names==environmentName(environment(eval(parse(text=all_funcs_found[i])))))])
   }
 }

这对我来说真的没有意义 - 为什么会有问题?

感谢您的任何想法。

【问题讨论】:

    标签: r parsing montecarlo


    【解决方案1】:

    我找到了答案:我写的函数是从特定库中以 libraryname::functionname 的形式调用一个函数。

    如果您手动使用该功能一次,这可以正常工作,但会使 MonteCarlo 中断。

    我解决了这个问题,首先加载相关库,然后从主函数的定义中删除 'libraryname::' 部分。然后蒙特卡洛运行得很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 2018-09-12
      • 1970-01-01
      • 2018-04-12
      • 2011-04-04
      • 2011-03-08
      相关资源
      最近更新 更多