来自实验设计数据框架的数据的从头模拟。
专注于 R(尽管其他语言解决方案会很棒)。
在设计实验或调查时,模拟数据并对这些模拟数据进行分析可以提供对设计优缺点的极好的洞察力。
这种方法对于理解和正确使用统计测试也是必不可少的。
然而,这个过程往往有些乏味,许多人会跳过实验或调查中的这一重要步骤。
统计模型和测试包含模拟数据所需的大部分信息(包括假设或分布的明确陈述)。
给定一个分析模型(及其相关假设,例如正态性和平衡)、一个因子的水平和一个显着性度量(例如 p 值),我想获得模拟数据(理想情况下具有类似于打印(),预测(),模拟())。
这样一个通用的仿真框架可能吗?
如果有,目前是否有这样的框架?
例如,我想要一个函数,例如:
sim(aov(response~factor1+factor2*factor3),
p.values=list(factor1=0.05,
factor2=0.05,
factor3=0.50,
factor2:factor3=0.05),
levels=list(factor1=1:10,
factor2=c("A", "B", "C"),
factor3=c("A", "B", "C")))
即,通用版本:
sim.lm<-function(){
library(DoE.base)
design<-fac.design(nlevels=c(10,3,3),
factor.names=c("factor1", "factor2", "factor3"),
replications=3,
randomize=F)
response<-with(design, as.numeric(factor1)+
as.numeric(factor2)+
as.numeric(factor3)+
as.numeric(factor2)*as.numeric(factor3)+
rnorm(length(factor1)))
simulation<-data.frame(design, response)}
或者
sim(glm(response~factor1+factor2*factor3, family=poisson),
p.values=list(factor1=0.05,
factor2=0.05,
factor3=0.50,
factor2:factor3=0.05),
levels=list(factor1=1:10,
factor2=c("A", "B", "C"),
factor3=c("A", "B", "C")))
或者
library(lme4)
sim(lmer(response~factor1+factor2 + (factor2|factor3)),
F_value=list(factor1=50,
factor2=50),
levels=list(factor1=1:10,
factor2=c("A", "B", "C"),
factor3=c("A", "B", "C")))
这将创建一个完整的相应 data.frame
特定功能的潜在示例(请随意编辑)
- arima.sim
存在函数来创建因子水平的data.frame,没有建模响应:
例如。conf.design
http://cran.r-project.org/web/views/ExperimentalDesign.html