tidyMC公司

R-CMD检查

蒙特卡罗模拟旨在研究统计推断技术的特性。蒙特卡洛模拟的核心是通过应用这些技术,从预先指定的数据生成过程中重复提取样本。这个tidyMC公司该软件包旨在涵盖并简化在学术或专业环境中运行蒙特卡罗模拟的整个工作流程。因此,tidyMC公司旨在为以下任务提供功能:

安装tidyMC

到目前为止tidyMC公司程序包不在CRAN上,因此您需要从下载开发版本github如下:

#install.packages(“devtools”)
开发工具::安装github(“stefanlinner/tidyMC”,构建渐晕图= 真的)

然后可以加载包:

图书馆(tidyMC)

例子

图书馆(马格里特)
图书馆(ggplot2)
图书馆(kableExtra)

这是一个基本示例,向您展示了如何解决常见问题。有关更详细的示例,请参见小插曲:

浏览幻影(包装= “tidyMC”)
#>启动http服务器für die Hilfe fertig

使用您自己的参数网格运行您的第一次蒙特卡洛模拟:

测试_功能<- 功能(参数= 0.1,n个= 100,x1个= 1,2个= 2){
  
数据<- rnorm公司(编号:,平均值=参数)+ x1个+ 2个
统计<- 意思是(数据)
统计_2<- 无功功率,无功功率(数据)
  
  如果(x2== 5){
    停止(“x2不可能是5!”)
}
  
  返回(列表(平均值=斯达,无功功率,无功功率=统计_2))
}

参数列表<- 列表(参数= 序列(来自= 0,至= 1,由= 0.5),
                   x1个= 1:2)

设置种子(101)

测试_mc<- 未来mc(
  有趣=测试函数,
  重复= 1000,
  参数列表=param_ list中,
  n个= 10,
  2个= 2,
  检查= 真的
)
#>为每个参数组合运行单个测试迭代。。。
#>
#>测试运行成功:没有出现错误!
#>运行整体模拟:模拟了全部6个参数组合。。。
#>
#>模拟成功!
#>运行时间:00:00:05.836134

测试_mc
#>指定函数的蒙特卡罗模拟结果:
#>
#>函数(参数=0.1,n=100,x1=1,x2=2)
#> {
#>数据<-rnorm(n,mean=param)+x1+x2
#>stat<-平均值(数据)
#>stat_2<-var(数据)
#>如果(x2==5){
#>停止(“x2不可能是5!”)
#>     }
#>return(列表(平均值=stat,变量=stat_2)
#> }
#>
#>以下6个参数组合:
#>#A台:6×2
#>参数x1
#><dbl><int>
#> 1   0       1
#> 2   0.5     1
#> 3   1       1
#> 4   0       2
#> 5   0.5     2
#> 6   1       2
#>每个都模拟了1000次。
#>
#>运行时间为:00:00:05.836134
#>
#>并行:TRUE
#>
#>使用了以下平行化计划:
#>$策略
#>多会话:
#>-args:function(…,workers=availableCores(),lazy=FALSE,rscript_libs=.libPaths(),envir=parent.frame())
#>-已调整:FALSE
#>-调用:NULL
#>
#>
#>种子:TRUE

总结您的结果:

汇总(_R)<- 总结(测试_ mc)
汇总(_R)
#>输出结果平均值:
#>参数=0,x1=1:3.015575
#>参数=0,x1=2:4.003162
#>参数=0.5,x1=1:3.49393
#>参数=0.5,x1=2:4.480855
#>param=1,x1=1:3.985815
#>参数=1,x1=2:4.994084
#>
#>
#>输出变量的结果:
#>参数=0,x1=1:0.9968712
#>参数=0,x1=2:1.026523
#>参数=0.5,x1=1:0.9933278
#>参数=0.5,x1=2:0.9997529
#>参数=1,x1=1:0.9979682
#>参数=1,x1=2:1.005633
#>
#>

绘制结果/总结结果:

返回的plot1<- 情节(测试_ mc,绘图= 错误的)

返回的plot1$意思是+
 ggplot2::主题_最小()+
 ggplot2::地理vline(辛特西普= )


返回的plot2<- 情节(test_mc,哪个设置=测试_mc$nice_name(名称)[1:2],绘图= 错误的)
返回的plot2$意思是


返回的plot3<- 情节(测试_ mc,加入=测试_mc$nice_name(名称)[1:2],绘图= 错误的)
返回的plot3$意思是


返回的plot1<- 情节(总结(测试_ mc),绘图= 错误的)

返回的plot1$意思是+
  ggplot2::主题_最小()


返回的plot2<- 情节(总结(测试_ mc),哪个设置=测试_mc$nice_name(名称)[1:2],绘图= 错误的)
返回的plot2$意思是


返回的plot3<- 情节(总结(测试_ mc),加入=测试_mc$nice_name(名称)[1:2],绘图= 错误的)
返回的plot3$意思是

在中显示结果乳胶表:

tidy_mc_日期(总结(测试_ mc))%>% 
  打印()
#>\开始{table}
#>
#>\caption{\label{tab:unnamed-chunk-9}蒙特卡罗模拟结果}
#>\居中
#>\开始{表格}[t]{cccc}
#>\toprule(顶部规则)
#>参数&x1&mean&var\\
#>\midrule公司
#> 0.0 & 1 & 3.016 & 0.997\\
#> 0.0 & 2 & 4.003 & 1.027\\
#> 0.5 & 1 & 3.494 & 0.993\\
#> 0.5 & 2 & 4.481 & 1.000\\
#> 1.0 & 1 & 3.986 & 0.998\\
#>\添加行空间
#> 1.0 & 2 & 4.994 & 1.006\\
#>\底线规则
#>\多列{4}{l}{\textsuperscript{}总重复次数=1000,}\\
#>\多列{4}{l}{总参数组合}\\
#>\多列{4}{l}{=6}\\
#>\end{表格}
#>\结束{表格}

tidy_mc_日期(
    总结(测试_ mc),
    重复集= c(c)(10,1000),
    哪个输出= “意思是”,
    可选项(_O)= 列表(标题= “平均MCS结果”)
)%>% 
  打印()
#>\开始{table}
#>
#>\caption{\label{tab:unnamed-chunk-9}平均MCS结果}
#>\居中
#>\开始{tablar}[t]{ccc}
#>\toprule(顶部规则)
#>param&x1&平均值\\
#>\midrule公司
#>\addlinespace[0.3em]
#>\多列{3}{l}{\textbf{N=10}}\\
#>\hs空间{1em}0.0 & 1 & 3.193\\
#>\hs空间{1em}0.0 & 2 & 3.810\\
#>\hs空间{1米}0.5 & 1 & 3.434\\
#>\空间{1em}0.5 & 2 & 4.550\\
#>\hs空间{1em}1.0 & 1 & 4.156\\
#>\hs空间{1em}1.0 & 2 & 5.030\\
#>\addlinespace[0.3em]
#>\多列{3}{l}{\textbf{N=1000}}\\
#>\hs空间{1em}0.0 & 1 & 3.016\\
#>\hs空间{1em}0.0 & 2 & 4.003\\
#>\hs空间{1em}0.5 & 1 & 3.494\\
#>\hs空间{1em}0.5 & 2 & 4.481\\
#>\hs空间{1em}1.0 & 1 & 3.986\\
#>\hs空间{1em}1.0 & 2 & 4.994\\
#>\底线规则
#>\多列{3}{l}{\textsuperscript{}总重复次数=}\\
#>\多列{3}{l}{1000,总计}\\
#>\多列{3}{l}{parameter}\\
#>\多列{3}{l}{组合=6}\\
#>\end{表格}
#>\结束{表格}