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