## ============================================
# Dr. Carlos Téllez Martínez
# Abril 2015
# Análisis de diseños 2k sin réplica por medio
# del paquete FrF2
# Diseño y Análisis de Experimentos
# Tecnológico de Monterrey, Campus Guadalajara
## ============================================

# Lectura de datos
Ejemplo3 <- read.csv("/Carlos Tellez Martinez/SkyDrive/Clases/Diseño de Experimentos/Curso en Blackboard/Curso/Tema 5/Videos/Analisis sin replica/Ejemplo3.csv")
View(Ejemplo3)
attach(Ejemplo3)
names(Ejemplo3)
## [1] "Carbonatacion" "Presion"       "Velocidad"     "Llenado"
str(Ejemplo3)
## 'data.frame':    8 obs. of  4 variables:
##  $ Carbonatacion: int  -1 1 -1 1 -1 1 -1 1
##  $ Presion      : int  -1 -1 1 1 -1 -1 1 1
##  $ Velocidad    : int  -1 -1 -1 -1 1 1 1 1
##  $ Llenado      : int  -3 0 -1 2 -1 2 1 6
# Creación del diseño
library(FrF2)
## Loading required package: DoE.base
## Loading required package: grid
## Loading required package: conf.design
## 
## Attaching package: 'DoE.base'
## 
## The following objects are masked from 'package:stats':
## 
##     aov, lm
## 
## The following object is masked from 'package:graphics':
## 
##     plot.design
## 
## The following object is masked from 'package:base':
## 
##     lengths
Tabla <- FrF2(nruns = 8, 
              nfactors = 3, 
              factor.names = list(Carbonatacion=c(-1,1), 
                                  Presion=c(-1,1), 
                                  Velocidad=c(-1,1)), 
              replications = 1, randomize = F)
## creating full factorial with 8 runs ...
Tabla
##   Carbonatacion Presion Velocidad
## 1            -1      -1        -1
## 2             1      -1        -1
## 3            -1       1        -1
## 4             1       1        -1
## 5            -1      -1         1
## 6             1      -1         1
## 7            -1       1         1
## 8             1       1         1
## class=design, type= full factorial
# Se agrega la respuesta
Tabla <- add.response(design = Tabla, response = Llenado)
Tabla
##   Carbonatacion Presion Velocidad Llenado
## 1            -1      -1        -1      -3
## 2             1      -1        -1       0
## 3            -1       1        -1      -1
## 4             1       1        -1       2
## 5            -1      -1         1      -1
## 6             1      -1         1       2
## 7            -1       1         1       1
## 8             1       1         1       6
## class=design, type= full factorial
## Análisis por el método de Daniels
DanielPlot(Tabla)

## Solamente son significativos los efectos principales

## Gráficas de efectos principales
MEPlot(Tabla, lwd = 2)
abline(h=0, col="red")

## Lo mejor es todos a nivel bajo, pero la velocidad impacta en
## la productividad por lo que hay que considerar

## Gráficas de Interacciones
IAPlot(Tabla, lwd = 2)

## Se observa que es posible aumentar la velocidad

# Gráfica de interacción triple
cubePlot(obj = Llenado, 
         eff1 = Carbonatacion, 
         eff2 = Presion, 
         eff3 = Velocidad, 
         main = " Gráfica de interacción triple")

# Para elaborar una predicción
Carbonatacion <- factor(Carbonatacion)
Presion <- factor(Presion)
Velocidad <- factor(Velocidad)
Modelo <- lm(Llenado~(Carbonatacion+Velocidad+Presion)^3)
predict(object = Modelo, data.frame(Carbonatacion=factor(c(-1,-1)), Presion=factor(c(-1,-1)), Velocidad=factor(c(-1, 1))), interval = "confidence")
## Warning in qt((1 - level)/2, df): NaNs produced
##   fit lwr upr
## 1  -3 NaN NaN
## 2  -1 NaN NaN
## Se puede aumentar la velocidad

## Verificación del modelo
Modelo <- lm(Llenado~(Carbonatacion+Velocidad+Presion))
qqnorm(rstandard(Modelo))
qqline(rstandard(Modelo))

shapiro.test(rstandard(Modelo))
## 
##  Shapiro-Wilk normality test
## 
## data:  rstandard(Modelo)
## W = 0.85995, p-value = 0.1199
## No se observan problemas con las observaciones