Simulation de novo des données d'un bloc de données de conception expérimentale.
En mettant l'accent sur R (même si une autre solution linguistique serait formidable).
Lors de la conception d'une expérience ou d'une enquête, la simulation de données et la réalisation d'une analyse sur ces données simulées peuvent fournir un aperçu formidable des avantages et des faiblesses de la conception.
Une telle approche peut également être essentielle à la compréhension et à la bonne utilisation des tests statistiques.
Cependant, ce processus a tendance à être quelque peu fastidieux et beaucoup sont amenés à sauter cette étape importante dans une expérience ou une enquête.
Les modèles statistiques et les tests contiennent la plupart des informations nécessaires pour simuler les données (y compris une hypothèse ou un énoncé explicite de la distribution).
Étant donné un modèle d'analyse (et ses hypothèses associées, par exemple la normalité et l'équilibre), les niveaux d'un facteur et une mesure de signification (comme la valeur p), je voudrais obtenir des données simulées (idéalement avec une fonction généralisée semblable à imprimer (), prédire (), simuler ()).
Un tel cadre de simulation généralisé est-il possible?
Si oui, un tel cadre est-il actuellement disponible?
Exemple, je voudrais une fonction, telle que:
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")))
c'est-à-dire une version généralisée de:
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)}
OU
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")))
OU
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")))
qui créerait un data.frame correspondant complet
exemples potentiels de fonctions spécifiques (veuillez modifier à volonté)
- arima.sim
existe pour créer un data.frame des niveaux de facteur, sans la réponse modélisée:
par ex. conf.design
http://cran.r-project.org/web/views/ExperimentalDesign.html