¿Puede alguien decir una referencia y/o libro que explique cómo utilizar R para la simulación de los datos del diseño experimental?
Respuestas
¿Demasiados anuncios?Tengo la sensación de que bastante reciente " Introducción a la programación científica y a la simulación científica con R " de Owen Jones, Robert Maillardet y Andrew Robinson (2009) podría ser lo que está buscando.
También hay una reseña muy positiva al respecto en el Journal of Statistical Software. .
Aunque este libro no está orientado específicamente a la simulación de datos experimentales, probablemente le llevará en la dirección que desea.
Aquí hay un ejemplo de código que escribí para este propósito. El diseño experimental es: hay cuatro niveles de nitrógeno y seis réplicas en cada nivel. Estos datos podrían ser probados usando un ANOVA de una vía, pero como los niveles son continuos, probé el ajuste de diferentes curvas.
set.seed(1)
library(nlme)
library(ggplot2)
### Below is a set of practice data
## 1. four levels of Nitrogen:
## 0,1,4,10
N <- c(rep(0,6),rep(1,6),rep(4,6),rep(10,6))
## 2. variance
s <- 2
## 3. Data simulated to provide examples of the
## Various hypothesized responses of Y to N
## 3.1 asymptotic incr Y = 10*N/(1+N) + 10
asym <- c(rnorm(6,10,s),rnorm(6,15,s),rnorm(6,18,s),rnorm(6,19,s))
## 3.2 Y = 0*N + 10 the Null model
m0 <- c(rnorm(24,10,s))
## 3.3 Y =0.2*N+10 a shallow slope
m1 <- c(rnorm(6,10,s),rnorm(6,10.2,s),rnorm(6,10.8,s),rnorm(6,12,s))
## 3.4 Y = 1*N + 10 a more steep slope
m4 <- c(rnorm(6,10,s),rnorm(6,14,s),rnorm(6,26,s),rnorm(6,50,s))
## 3.5 Y = 4*log10(N)+ 10 an log-linear response
lm4 <- c(rnorm(6,10,s),rnorm(6,12.4,s),rnorm(6,15.6,s),rnorm(6,18.2,s))
## 3.6 'Hump' with max at N=1 g m-2 yr
hump <- c(rnorm(6,10,s),rnorm(6,20,s),rnorm(6,9,s),rnorm(6,8,s))
## A function to compare the fit of five models:
fn.BIC.lmnls <- function (x,y,shape){
foo.null <- lm ( y~1)
foo.poly1 <- lm(y~x)
foo.poly2 <- lm(y ~ x + I(x^2))
foo.poly3 <- lm(y ~ x + I(x^2) + I(x^3) )
foo.mm <- nls ( y~ (a*x)/(b + x),start=list(a=1,b=1))
bic <- BIC(foo.null,foo.poly1,foo.poly2,foo.poly3,foo.mm)
print(bic)
return(bic)
}
### now, plot data and print BIC values for each of the data sets
par(mfrow = c(3,2))
fn.BIC.lmnls (N,m0,"Y = 0*N +10")
fn.BIC.lmnls (N,m1,"Y = 0.2*N + 10")
fn.BIC.lmnls (N,m4,"Y = 1*N + 10")
fn.BIC.lmnls (N,lm4,"Y = 0.4*log10(N) + 10")
fn.BIC.lmnls (N,asym,"Y = 10+10*N/(1+N)")#Y = 20*N/(5+N)
fn.BIC.lmnls (N,hump,"Y = [10,20,9,8]")
Modelos estadísticos en S de Chambers y Hastie (Chapmann y Hall, 1991; o el llamado Libro Blanco ), y en menor medida Estadística Aplicada Moderna con S de Venables y Ripley (Springer, 2002, 4ª ed.), incluyen algún material sobre DoE y el análisis de diseños comunes en S y R. Vikneswaran escribió Un compañero de R para "Diseño Experimental" aunque no es muy completo (IMHO), pero hay muchos otros libros de texto en el Contribución en CRAN que puede ayudarte a empezar.
Además del libro de texto, la vista de tareas de CRAN en Diseño de experimentos (DoE) y análisis de datos experimentales tiene algunos buenos paquetes que facilitan la creación y el análisis de varios diseños experimentales; se me ocurre dae , agricolae o AlgDesign (que viene con un bonito viñeta ), por nombrar algunos.