De novo моделирование данных из экспериментальной модели данных.
С акцентом на R (хотя другое языковое решение было бы здорово).
При разработке эксперимента или опроса моделирование данных и проведение анализа этих смоделированных данных может обеспечить потрясающее понимание преимуществ и недостатков проекта.
Такой подход также может быть необходим для понимания и правильного использования статистических тестов.
Однако этот процесс, как правило, несколько утомителен, и многие вынуждены пропустить этот важный шаг в эксперименте или опросе.
Статистические модели и тесты содержат большую часть информации, необходимой для моделирования данных (включая допущение или явное изложение распределения).
Учитывая модель анализа (и связанные с ней допущения, например, нормальность и баланс), уровни фактора и меру значимости (например, p-значение), я хотел бы получить смоделированные данные (в идеале с обобщенной функцией, схожей с print (), прогнозировать (), моделировать ()).
Возможна ли такая обобщенная схема моделирования?
Если да, доступна ли такая структура в настоящее время?
Например, я хотел бы функцию, такую как:
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