Punto 1.8

Se ha medido la longitud y la anchura máxima en una especie perenne de una altura media de 2m en su pleno desarrollo. Para unos datos de vivero, se obtuvo la siguiente información:##

longitud <- c(48,38,31,43,45,33,36,33,35,40,42,44,46)
ancho <-    c(21,19,17,22,25,16,19,17,18,21,23,23,25)
df18 <- data.frame(longitud, ancho)

pairs(longitud ~ ancho)

   library(PerformanceAnalytics)
## Loading required package: xts
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## Attaching package: 'PerformanceAnalytics'
## The following object is masked from 'package:graphics':
## 
##     legend

chart.Correlation(df18)

(cor18 <- cor(ancho, longitud))
## [1] 0.8897309
(cor.test(ancho, longitud)) #según la correlación de Pearson, hay una relación directa entre las dos variables (entre -1 y 1)
## 
##  Pearson's product-moment correlation
## 
## data:  ancho and longitud
## t = 6.4644, df = 11, p-value = 4.649e-05
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.6645050 0.9667753
## sample estimates:
##       cor 
## 0.8897309
(coeficientedeter <- 0.8897309^2)
## [1] 0.7916211
(coeficientedeter*100)
## [1] 79.16211
# aproximadamente el 20% de lo longitud de la especie perenne no está relacionada con el ancho 

#Modelo de regresión lineal simple 

mod18b <- lm(longitud~ancho, df18)
summary(mod18b)
## 
## Call:
## lm(formula = longitud ~ ancho, data = df18)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.8817 -1.1501 -0.5159  0.7524  7.5816 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   6.1010     5.2251   1.168    0.268    
## ancho         1.6342     0.2528   6.464 4.65e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.666 on 11 degrees of freedom
## Multiple R-squared:  0.7916, Adjusted R-squared:  0.7727 
## F-statistic: 41.79 on 1 and 11 DF,  p-value: 4.649e-05
shapiro.test(longitud)
## 
##  Shapiro-Wilk normality test
## 
## data:  longitud
## W = 0.94677, p-value = 0.5503
shapiro.test(ancho) # La distribución de los datos es normal 
## 
##  Shapiro-Wilk normality test
## 
## data:  ancho
## W = 0.93929, p-value = 0.4477
#bartlett.test(mod18b$residuals, df18$ancho)

## Gráfica de la nube de puntos y linea de regresión lineal ajustada 

library(ggplot2)
ggplot(df18)+
  aes(ancho, longitud)+
  geom_point()+
  labs(x='ancho', y='longitud')+
  geom_smooth(method='lm', se=T)
## `geom_smooth()` using formula 'y ~ x'

plot(longitud~ancho, pch = 16)
abline(mod18b, col='red', lwd=2)

## Punto 1.9

Uno de los índices útiles para analizar la polución en las aguas es la cantidad de oxígeno que contienen en disolución (a mayor contaminación menor cantidad de oxígeno disuelto). Se ha hecho un estudio de la contaminación en un pequeño río tomando muestras en tres lugares diferentes y midiendo las respectivas cantidades de oxígeno en disolución. Los resultados obtenidos fueron:

##Punto 1.10

Un laboratorio emplea 3 métodos (Bray,Olsen; Mehlich-3) para determinar el contenido de fósforo en suelos. Surge la pregunta: ”¿Difieren las medias determinaciones entre los métodos de análisis?”Para responder a esta pregunta, se analizaron 22 muestras de una misma unidad de manejo agronómico. Los resultados se muestran (en mg de fósforo/Kg de suelo) a continuación:

set.seed(123)

bray <- rnorm(22, 6.4, 0.62)
olsen<- rnorm(22, 6.9, 0.64)
m3 <- rnorm(22, 7.2, 0.54)

p <-c(bray,olsen,m3)
metodos <- gl(3,22,66,c("bray","olsen","m3"))

(df110 <- data.frame(p, metodos))
##           p metodos
## 1  6.052505    bray
## 2  6.257290    bray
## 3  7.366399    bray
## 4  6.443715    bray
## 5  6.480158    bray
## 6  7.463340    bray
## 7  6.685768    bray
## 8  5.615662    bray
## 9  5.974151    bray
## 10 6.123690    bray
## 11 7.158931    bray
## 12 6.623085    bray
## 13 6.648478    bray
## 14 6.468623    bray
## 15 6.055378    bray
## 16 7.507886    bray
## 17 6.708667    bray
## 18 5.180697    bray
## 19 6.834841    bray
## 20 6.106869    bray
## 21 5.737949    bray
## 22 6.264856    bray
## 23 6.243357   olsen
## 24 6.433510   olsen
## 25 6.499975   olsen
## 26 5.820516   olsen
## 27 7.436184   olsen
## 28 6.998159   olsen
## 29 6.171592   olsen
## 30 7.702442   olsen
## 31 7.172937   olsen
## 32 6.711154   olsen
## 33 7.472880   olsen
## 34 7.462005   olsen
## 35 7.425812   olsen
## 36 7.340730   olsen
## 37 7.254507   olsen
## 38 6.860377   olsen
## 39 6.704184   olsen
## 40 6.656499   olsen
## 41 6.455388   olsen
## 42 6.766933   olsen
## 43 6.090146   olsen
## 44 8.288132   olsen
## 45 7.852299      m3
## 46 6.593521      m3
## 47 6.982442      m3
## 48 6.948006      m3
## 49 7.621181      m3
## 50 7.154981      m3
## 51 7.336792      m3
## 52 7.184585      m3
## 53 7.176850      m3
## 54 7.939045      m3
## 55 7.078084      m3
## 56 8.018894      m3
## 57 6.363673      m3
## 58 7.515691      m3
## 59 7.266881      m3
## 60 7.316608      m3
## 61 7.405005      m3
## 62 6.928745      m3
## 63 7.020068      m3
## 64 6.649969      m3
## 65 6.621233      m3
## 66 7.363905      m3
mod110 <- aov(p~metodos, df110)
summary(mod110)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## metodos      2  6.359   3.179   10.47 0.000119 ***
## Residuals   63 19.135   0.304                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##### Supuestos

shapiro.test(mod110$residuals) # Los residuales del modelo presentan una distribución normal 
## 
##  Shapiro-Wilk normality test
## 
## data:  mod110$residuals
## W = 0.99574, p-value = 0.9987
bartlett.test(mod110$residuals, df110$metodos) #Hay variabilidad en los residuales del modelo 
## 
##  Bartlett test of homogeneity of variances
## 
## data:  mod110$residuals and df110$metodos
## Bartlett's K-squared = 2.6567, df = 2, p-value = 0.2649
var(as.vector(p))
## [1] 0.392216
library(lattice)

xyplot(p ~ metodos, df110)

plot(p ~ metodos, pch = 16)
abline(h = mean(df110$p), col="blue")

boxplot(df110$p ~ df110$metodos, 
        border = c("blue", "green", "red"))
abline(h = mean(df110$p), col="blue")

ggplot(df110)+
  aes(metodos, p)+  
   stat_boxplot(geom = "errorbar",  width = 0.2)+
    geom_boxplot(fill=5)+
     labs(x='métodos', y='fosforo en suelo')+
        stat_summary(fun = "mean", geom = "point", shape = 8,
          size = 2, color = "red")+
              geom_smooth(method='lm', se=F)
## `geom_smooth()` using formula 'y ~ x'

Asuma que se pierde un dato (el que perciba que pueda estar afectando la media del grupo) y corra nuevamente el modelo de forma desbalanceada usando la función lm() de R. Use el análisis de clusters considerado en clase y construya una matriz de confusión para tres grupos que debe construir utilizando uno de los métodos dados en clase. ¿Cuál tratamiento se clasifica mejor con el análisis de clusters? Compare los resultados de este análisis con la comparación de medias tratada en clase.

## Forma desbalanceada 

library(outliers)
grubbs.test(mod110$residuals, type = 11, two.sided = T, opposite = F)
## 
##  Grubbs test for two opposite outliers
## 
## data:  mod110$residuals
## G.44 = 4.87198, U = 0.81704, p-value = 0.5164
## alternative hypothesis: -1.26289081919606 and 1.38052190514646 are outliers
which.max(df110$p)
## [1] 44
which.min(df110$p)
## [1] 18
df110[44,1]=NA
df110_des = df110 # nuevo dataframe con dato faltante
df110_des
##           p metodos
## 1  6.052505    bray
## 2  6.257290    bray
## 3  7.366399    bray
## 4  6.443715    bray
## 5  6.480158    bray
## 6  7.463340    bray
## 7  6.685768    bray
## 8  5.615662    bray
## 9  5.974151    bray
## 10 6.123690    bray
## 11 7.158931    bray
## 12 6.623085    bray
## 13 6.648478    bray
## 14 6.468623    bray
## 15 6.055378    bray
## 16 7.507886    bray
## 17 6.708667    bray
## 18 5.180697    bray
## 19 6.834841    bray
## 20 6.106869    bray
## 21 5.737949    bray
## 22 6.264856    bray
## 23 6.243357   olsen
## 24 6.433510   olsen
## 25 6.499975   olsen
## 26 5.820516   olsen
## 27 7.436184   olsen
## 28 6.998159   olsen
## 29 6.171592   olsen
## 30 7.702442   olsen
## 31 7.172937   olsen
## 32 6.711154   olsen
## 33 7.472880   olsen
## 34 7.462005   olsen
## 35 7.425812   olsen
## 36 7.340730   olsen
## 37 7.254507   olsen
## 38 6.860377   olsen
## 39 6.704184   olsen
## 40 6.656499   olsen
## 41 6.455388   olsen
## 42 6.766933   olsen
## 43 6.090146   olsen
## 44       NA   olsen
## 45 7.852299      m3
## 46 6.593521      m3
## 47 6.982442      m3
## 48 6.948006      m3
## 49 7.621181      m3
## 50 7.154981      m3
## 51 7.336792      m3
## 52 7.184585      m3
## 53 7.176850      m3
## 54 7.939045      m3
## 55 7.078084      m3
## 56 8.018894      m3
## 57 6.363673      m3
## 58 7.515691      m3
## 59 7.266881      m3
## 60 7.316608      m3
## 61 7.405005      m3
## 62 6.928745      m3
## 63 7.020068      m3
## 64 6.649969      m3
## 65 6.621233      m3
## 66 7.363905      m3
mod110_des <- lm(p~metodos, df110_des)
summary(mod110_des)
## 
## Call:
## lm(formula = p ~ metodos, data = df110_des)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -1.26289 -0.34190 -0.01262  0.33107  1.06430 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    6.4436     0.1121  57.484  < 2e-16 ***
## metodosolsen   0.3983     0.1604   2.483   0.0157 *  
## metodosm3      0.7536     0.1585   4.754 1.23e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.5258 on 62 degrees of freedom
##   (1 observation deleted due to missingness)
## Multiple R-squared:  0.2673, Adjusted R-squared:  0.2437 
## F-statistic: 11.31 on 2 and 62 DF,  p-value: 6.485e-05
shapiro.test(mod110_des$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod110_des$residuals
## W = 0.99169, p-value = 0.9431
df110[44,1] = 8.288132
df110
##           p metodos
## 1  6.052505    bray
## 2  6.257290    bray
## 3  7.366399    bray
## 4  6.443715    bray
## 5  6.480158    bray
## 6  7.463340    bray
## 7  6.685768    bray
## 8  5.615662    bray
## 9  5.974151    bray
## 10 6.123690    bray
## 11 7.158931    bray
## 12 6.623085    bray
## 13 6.648478    bray
## 14 6.468623    bray
## 15 6.055378    bray
## 16 7.507886    bray
## 17 6.708667    bray
## 18 5.180697    bray
## 19 6.834841    bray
## 20 6.106869    bray
## 21 5.737949    bray
## 22 6.264856    bray
## 23 6.243357   olsen
## 24 6.433510   olsen
## 25 6.499975   olsen
## 26 5.820516   olsen
## 27 7.436184   olsen
## 28 6.998159   olsen
## 29 6.171592   olsen
## 30 7.702442   olsen
## 31 7.172937   olsen
## 32 6.711154   olsen
## 33 7.472880   olsen
## 34 7.462005   olsen
## 35 7.425812   olsen
## 36 7.340730   olsen
## 37 7.254507   olsen
## 38 6.860377   olsen
## 39 6.704184   olsen
## 40 6.656499   olsen
## 41 6.455388   olsen
## 42 6.766933   olsen
## 43 6.090146   olsen
## 44 8.288132   olsen
## 45 7.852299      m3
## 46 6.593521      m3
## 47 6.982442      m3
## 48 6.948006      m3
## 49 7.621181      m3
## 50 7.154981      m3
## 51 7.336792      m3
## 52 7.184585      m3
## 53 7.176850      m3
## 54 7.939045      m3
## 55 7.078084      m3
## 56 8.018894      m3
## 57 6.363673      m3
## 58 7.515691      m3
## 59 7.266881      m3
## 60 7.316608      m3
## 61 7.405005      m3
## 62 6.928745      m3
## 63 7.020068      m3
## 64 6.649969      m3
## 65 6.621233      m3
## 66 7.363905      m3
dd = dist(df110$p, method = 'euclidean')
clus = hclust(dd, method = 'ward.D2')
grupos_p = cutree(tree = clus, k = 3)
grupos_pretrat = cutree(tree = clus, k = 2)

plot(clus)
rect.hclust(tree = clus, k = 3)

m_confusion=table(df110$metodos, grupos_p)

tapply(df110$p, list(df110$metodos), mean)
##     bray    olsen       m3 
## 6.443588 6.907610 7.197203
TukeyHSD(mod110)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = p ~ metodos, data = df110)
## 
## $metodos
##                 diff         lwr       upr     p adj
## olsen-bray 0.4640217  0.06516215 0.8628813 0.0187115
## m3-bray    0.7536146  0.35475503 1.1524742 0.0000776
## m3-olsen   0.2895929 -0.10926670 0.6884525 0.1975229
100*(sum(diag(m_confusion))/sum(m_confusion)) # eficiencia del algoritmo
## [1] 42.42424
# m3 y olsen son similares en la medias

## punto 1.11

Para el problema anterior cuando se tiene el caso balanceado, asuma que tenemos como razón de bloqueo, muestras de dos localidades, de donde se obtuvieron 11 muestras por localidad, es decir, en la primera localidad se sacaron 11 muestras para cada método y lo mismo para la otra localidad. Corra el modelo con bloques y repita todo el análisis. Calcule la eficiencia de bloqueo tal como se consideró en clase. Haga un gráfico con la librerías lattice mostrando el comportamiento de la respuesta tanto por tratamiento como por bloque. Interprete nuevamente los resultados. Revise los supuestos tratados en clase. De no resultar Normales los residuales, utilice el análisis de varianza permutacional (Use 9999 simulaciones).

set.seed(123)

bray <- rnorm(22, 6.4, 0.62)
olsen<- rnorm(22, 6.3, 0.64)
m3 <- rnorm(22, 7.2, 0.54)

p <-c(bray,olsen,m3)
metodos <- gl(3,22,66,c("bray","olsen","m3"))

#Bloqueo (localidades) en la primera localidad se sacaron 11 muestras para cada método y lo mismo para la otra localidad

localidad = gl(2,1,66,c("L1", "L2"))

df111b=data.frame(metodos, localidad, p)
df111b
##    metodos localidad        p
## 1     bray        L1 6.052505
## 2     bray        L2 6.257290
## 3     bray        L1 7.366399
## 4     bray        L2 6.443715
## 5     bray        L1 6.480158
## 6     bray        L2 7.463340
## 7     bray        L1 6.685768
## 8     bray        L2 5.615662
## 9     bray        L1 5.974151
## 10    bray        L2 6.123690
## 11    bray        L1 7.158931
## 12    bray        L2 6.623085
## 13    bray        L1 6.648478
## 14    bray        L2 6.468623
## 15    bray        L1 6.055378
## 16    bray        L2 7.507886
## 17    bray        L1 6.708667
## 18    bray        L2 5.180697
## 19    bray        L1 6.834841
## 20    bray        L2 6.106869
## 21    bray        L1 5.737949
## 22    bray        L2 6.264856
## 23   olsen        L1 5.643357
## 24   olsen        L2 5.833510
## 25   olsen        L1 5.899975
## 26   olsen        L2 5.220516
## 27   olsen        L1 6.836184
## 28   olsen        L2 6.398159
## 29   olsen        L1 5.571592
## 30   olsen        L2 7.102442
## 31   olsen        L1 6.572937
## 32   olsen        L2 6.111154
## 33   olsen        L1 6.872880
## 34   olsen        L2 6.862005
## 35   olsen        L1 6.825812
## 36   olsen        L2 6.740730
## 37   olsen        L1 6.654507
## 38   olsen        L2 6.260377
## 39   olsen        L1 6.104184
## 40   olsen        L2 6.056499
## 41   olsen        L1 5.855388
## 42   olsen        L2 6.166933
## 43   olsen        L1 5.490146
## 44   olsen        L2 7.688132
## 45      m3        L1 7.852299
## 46      m3        L2 6.593521
## 47      m3        L1 6.982442
## 48      m3        L2 6.948006
## 49      m3        L1 7.621181
## 50      m3        L2 7.154981
## 51      m3        L1 7.336792
## 52      m3        L2 7.184585
## 53      m3        L1 7.176850
## 54      m3        L2 7.939045
## 55      m3        L1 7.078084
## 56      m3        L2 8.018894
## 57      m3        L1 6.363673
## 58      m3        L2 7.515691
## 59      m3        L1 7.266881
## 60      m3        L2 7.316608
## 61      m3        L1 7.405005
## 62      m3        L2 6.928745
## 63      m3        L1 7.020068
## 64      m3        L2 6.649969
## 65      m3        L1 6.621233
## 66      m3        L2 7.363905
mod111 <- aov(p~localidad + metodos, df111b)
summary(mod111)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## localidad    1  0.028   0.028    0.09    0.765    
## metodos      2 10.104   5.052   16.39 1.93e-06 ***
## Residuals   62 19.107   0.308                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
tapply(df111b$p, list(df111b$localidad, df111b$metodos), mean)
##        bray    olsen       m3
## L1 6.518475 6.211542 7.156774
## L2 6.368701 6.403678 7.237632
library(lattice)
xyplot(p~ localidad | metodos, df111b)

# Supuestos del modelo validados en los residuales 
shapiro.test(mod111$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  mod111$residuals
## W = 0.99562, p-value = 0.9984
bartlett.test(mod111$residuals, df111b$metodos)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  mod111$residuals and df111b$metodos
## Bartlett's K-squared = 2.7066, df = 2, p-value = 0.2584

## Punto 1.12

Se cree que la adhesividad de un pegamento natural depende de la presión y de la temperatura al ser aplicado. Se realiza un experimento factorial con ambos factores fijos. Los datos se muestran en la tabla:

a)Formule las hipótesis y el modelo estadístico que se desea probar. b) Analice los datos y obtenga las conclusiones apropiadas.c) ¿Se puede analizar si hay interacción entre los dos factores controlados? d) Verifique los supuestos. Haga gráfico de interacción. Imprima la tabla de medias y verifique la interacción.

library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:xts':
## 
##     first, last
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#######

ps=gl(4,3,12,c("120","130","140","150"))
ps=factor(ps)
tem=rep(c(80,100,120),4)
tem=factor(tem)

resp = c(9.60,11.28,9.00,9.69,10.10,9.57,8.44,11.01,9.03,9.98,10.44,9.80)

datos112 <- data.frame(ps,tem,resp)
datos112
##     ps tem  resp
## 1  120  80  9.60
## 2  120 100 11.28
## 3  120 120  9.00
## 4  130  80  9.69
## 5  130 100 10.10
## 6  130 120  9.57
## 7  140  80  8.44
## 8  140 100 11.01
## 9  140 120  9.03
## 10 150  80  9.98
## 11 150 100 10.44
## 12 150 120  9.80
str(datos112)
## 'data.frame':    12 obs. of  3 variables:
##  $ ps  : Factor w/ 4 levels "120","130","140",..: 1 1 1 2 2 2 3 3 3 4 ...
##  $ tem : Factor w/ 3 levels "80","100","120": 1 2 3 1 2 3 1 2 3 1 ...
##  $ resp: num  9.6 11.28 9 9.69 10.1 ...
mod112 <- lm(resp ~ (ps + tem)^2)

mod112 <- aov(mod112)
mod112
## Call:
##    aov(formula = mod112)
## 
## Terms:
##                       ps      tem   ps:tem
## Sum of Squares  0.573967 4.649617 2.140783
## Deg. of Freedom        3        2        6
## 
## Estimated effects may be unbalanced
summary(mod112)
##             Df Sum Sq Mean Sq
## ps           3  0.574  0.1913
## tem          2  4.650  2.3248
## ps:tem       6  2.141  0.3568
## diseño en forma de bloqueo (bloqueo por presión)


ps_bloq = gl(4,1,12,c("p1", "p2", "p3", "p4"))

df112b <- data.frame(tem, ps_bloq, resp)
df112b
##    tem ps_bloq  resp
## 1   80      p1  9.60
## 2  100      p2 11.28
## 3  120      p3  9.00
## 4   80      p4  9.69
## 5  100      p1 10.10
## 6  120      p2  9.57
## 7   80      p3  8.44
## 8  100      p4 11.01
## 9  120      p1  9.03
## 10  80      p2  9.98
## 11 100      p3 10.44
## 12 120      p4  9.80
mod112b <- aov(resp~ps_bloq + tem, df112b)
summary(mod112b)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## ps_bloq      3  1.995  0.6650   5.545 0.03646 * 
## tem          2  4.650  2.3248  19.383 0.00241 **
## Residuals    6  0.720  0.1199                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##  diseño en forma de bloqueo (bloqueo por temperatura)

tem_bloq <- gl(3,1,12, c("t1", "t2", "t3"))

df112c <- data.frame(ps, tem_bloq, resp)
df112c
##     ps tem_bloq  resp
## 1  120       t1  9.60
## 2  120       t2 11.28
## 3  120       t3  9.00
## 4  130       t1  9.69
## 5  130       t2 10.10
## 6  130       t3  9.57
## 7  140       t1  8.44
## 8  140       t2 11.01
## 9  140       t3  9.03
## 10 150       t1  9.98
## 11 150       t2 10.44
## 12 150       t3  9.80
mod112c <- aov(resp~tem_bloq + ps, df112c)
summary(mod112c)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## tem_bloq     2  4.650  2.3248   6.516 0.0313 *
## ps           3  0.574  0.1913   0.536 0.6744  
## Residuals    6  2.141  0.3568                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

## punto 1.13

Se desea estudiar el rendimiento de plantas de tres selecciones A-16R, A-8R y A-7R de chile dulce (pimiento), en función de la edad al momento del transplante (Monta˜no y Núñez, 2003). Las variables de respuesta fueron el rendimiento en toneladas por hectárea (Y1) y el número promedio de frutos por planta (Y2). El experimento y los datos obtenidos se muestran en la siguiente tabla, donde el primer número de cada casilla corresponde a Y1 y el segundo a Y2. Los datos se presentan en la siguiente tabla:

Edad=gl(4,3,12,c("50","45", "40", "35"))
Edad=factor(Edad)
Plant=rep(c("A-7R","A-8R","A-16R"),4)
Plant=factor(Plant)

resp01 = c(13.00, 16.07, 12.13, 15.00, 13.95, 17.87, 15.06, 13.89, 13.08, 10.77, 10.74, 10.44)
resp02 <- c(88.00, 115.33, 83.67, 106.67, 101.33, 119.33, 105.33, 108.00, 87.67, 78.67, 83.33, 73.00)

(dfresp01 <- data.frame(Edad, Plant, resp01))
##    Edad Plant resp01
## 1    50  A-7R  13.00
## 2    50  A-8R  16.07
## 3    50 A-16R  12.13
## 4    45  A-7R  15.00
## 5    45  A-8R  13.95
## 6    45 A-16R  17.87
## 7    40  A-7R  15.06
## 8    40  A-8R  13.89
## 9    40 A-16R  13.08
## 10   35  A-7R  10.77
## 11   35  A-8R  10.74
## 12   35 A-16R  10.44
(dfresp02 <- data.frame(Edad, Plant, resp02))
##    Edad Plant resp02
## 1    50  A-7R  88.00
## 2    50  A-8R 115.33
## 3    50 A-16R  83.67
## 4    45  A-7R 106.67
## 5    45  A-8R 101.33
## 6    45 A-16R 119.33
## 7    40  A-7R 105.33
## 8    40  A-8R 108.00
## 9    40 A-16R  87.67
## 10   35  A-7R  78.67
## 11   35  A-8R  83.33
## 12   35 A-16R  73.00
modparcial01 <- aov(resp01 ~ (Edad+Plant))
summary(modparcial01)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Edad         3  38.63  12.875   4.135 0.0658 .
## Plant        2   0.17   0.085   0.027 0.9731  
## Residuals    6  18.68   3.114                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modparcial02 <- aov(resp02 ~ (Edad+Plant))
summary(modparcial02)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## Edad         3 1508.4   502.8   3.753 0.0789 .
## Plant        2  254.1   127.0   0.948 0.4387  
## Residuals    6  803.8   134.0                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1