从实验设计数据框中对数据进行从头模拟。
着重于R(尽管其他语言解决方案会很棒)。
在设计实验或调查时,模拟数据并对该模拟数据进行分析可以提供对设计优点和缺点的深刻了解。
这种方法对于理解和正确使用统计检验也可能至关重要。
但是,此过程往往有些繁琐,并且导致许多人跳过了实验或调查中的这一重要步骤。
统计模型和检验包含模拟数据所需的大多数信息(包括假设或分布的明确表述)。
给定一个分析模型(及其关联的假设,例如正态和平衡),一个因素的水平和一个显着性的量度(例如p值),我想获得模拟数据(理想情况下具有类似于print(),predict(),simulate())。
这样的通用仿真框架可能吗?
如果可以,目前是否有这样的框架?
例如,我想要一个函数,例如:
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