este es un diseño en parcelas divididas, donde la parcela principal es el tipo de avena (tenemos 18 parcelas totales, y tres tipos de avena, por lo tantoa cada tipo de avena le corresponde 6 parcelas) y la subparcela es el nivel de nitrogeno (tenemos 4 niveles de nitrogeno),
library(readxl)
oats1 <- read_excel("D:/9/diseno/clase/tarea/oats1.xlsx")
## New names:
## * `` -> ...1
sp.oats<- oats1
sp.oats
## # A tibble: 72 x 5
## ...1 B V N Y
## <dbl> <chr> <chr> <dbl> <dbl>
## 1 1 I Victory 0 111
## 2 2 I Victory 0.2 130
## 3 3 I Victory 0.4 157
## 4 4 I Victory 0.6 174
## 5 5 I Golden.rain 0 117
## 6 6 I Golden.rain 0.2 114
## 7 7 I Golden.rain 0.4 161
## 8 8 I Golden.rain 0.6 141
## 9 9 I Marvellous 0 105
## 10 10 I Marvellous 0.2 140
## # ... with 62 more rows
sp.oats <- within(sp.oats, nitroF <- factor(N))
head(sp.oats)
## # A tibble: 6 x 6
## ...1 B V N Y nitroF
## <dbl> <chr> <chr> <dbl> <dbl> <fct>
## 1 1 I Victory 0 111 0
## 2 2 I Victory 0.2 130 0.2
## 3 3 I Victory 0.4 157 0.4
## 4 4 I Victory 0.6 174 0.6
## 5 5 I Golden.rain 0 117 0
## 6 6 I Golden.rain 0.2 114 0.2
library(collapsibleTree)
collapsibleTreeSummary(sp.oats,c("V", "N","Y"
),nodeSize = "leafCount",
maxPercent = 50,attribute = "Y",linkLength =150,
fillFun = colorspace::terrain_hcl,tooltip = T)
library(lattice)
library(car)
## Warning: package 'car' was built under R version 4.0.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.0.3
library(agricolae)
## Warning: package 'agricolae' was built under R version 4.0.3
with(sp.oats, xyplot(Y~nitroF | V ))
with(sp.oats, xyplot(Y~nitroF | V, groups = B))
with(sp.oats, xyplot(Y ~ nitroF | V, groups = B, aspect = "xy"))
with(sp.oats, xyplot(Y ~ nitroF | V, groups = B, aspect = "xy", type= "o"))
with(sp.oats, xyplot(Y ~ nitroF | V, groups = B, aspect = "xy",
type = "a"))
##antes de realizar el anova, con la grafica anterior podemos observar la tendencia de nuestros datos por lo menos en cuanto a las repeticiones de los niveles de nirogeno en función de la variedad. Lo que yo puedo observar en estos datos es que las repeticiones en algunos casos no brindan rendimientos para mada parecidos (ejemplo las repeticiones en la variedad Golden.rain-nivel de nitrogeno 0.6). Pero para compromar mi hipótesis gráfica necesito el análisis de varianza.
\[diseño \ experimental \ erronero\]
res.bad <- lm(Y ~ V * nitroF, data = sp.oats)
anova(res.bad)
## Analysis of Variance Table
##
## Response: Y
## Df Sum Sq Mean Sq F value Pr(>F)
## V 2 1786.4 893.2 1.7949 0.1750
## nitroF 3 20020.5 6673.5 13.4108 8.367e-07 ***
## V:nitroF 6 321.7 53.6 0.1078 0.9952
## Residuals 60 29857.3 497.6
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
\[diseño~experimental~bueno\]
res.good <- aov(Y~ V * nitroF + Error(B:V), data = sp.oats)
## Warning in aov(Y ~ V * nitroF + Error(B:V), data = sp.oats): Error() model is
## singular
summary(res.good)
##
## Error: B:V
## Df Sum Sq Mean Sq F value Pr(>F)
## V 2 1786 893.2 0.612 0.555
## Residuals 15 21889 1459.2
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## nitroF 3 20020 6673 37.686 2.46e-12 ***
## V:nitroF 6 322 54 0.303 0.932
## Residuals 45 7969 177
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
\[analisis\] ##el analisis de varianza mostró lo siguiente: - que como era de esperarse la parcela principal no presenta interacción (no hay variabilidad significativa) - tampoco hay presencia de interacción entre la variedad y el nivel de nitrogeno - el p_value de nitroF es el unico que demuestra una diferencia de varianzas significativas
por ende todo el análisis se enfoca en nitroF, ahora sigue determinar con respecto a los valores de nitroF cual mostró un mejor y peor rendimiento
res.good2 <- aov(Y ~ V * nitroF + B:V, data = sp.oats)
summary(res.good2)
## Df Sum Sq Mean Sq F value Pr(>F)
## V 2 1786 893 5.044 0.0106 *
## nitroF 3 20020 6673 37.686 2.46e-12 ***
## V:nitroF 6 322 54 0.303 0.9322
## V:B 15 21889 1459 8.240 1.61e-08 ***
## Residuals 45 7969 177
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
plot(res.good2, 1)
plot(res.good2, 2)
boxCox(res.good2)
y<-with(oats1, HSD.test(Y, N, DFerror = 45, MSerror = 117));y
## $statistics
## MSerror Df Mean CV MSD
## 117 45 103.9722 10.40341 9.618527
##
## $parameters
## test name.t ntr StudentizedRange alpha
## Tukey N 4 3.772697 0.05
##
## $means
## Y std r Min Max Q25 Q50 Q75
## 0 79.38889 19.39417 18 53 117 63.25 72.0 94.25
## 0.2 98.88889 21.84407 18 64 140 83.75 95.0 112.50
## 0.4 114.22222 22.31738 18 81 161 97.75 115.0 124.75
## 0.6 123.38889 22.99908 18 86 174 106.25 121.5 139.00
##
## $comparison
## NULL
##
## $groups
## Y groups
## 0.6 123.38889 a
## 0.4 114.22222 a
## 0.2 98.88889 b
## 0 79.38889 c
##
## attr(,"class")
## [1] "group"
library(gplots)
## Warning: package 'gplots' was built under R version 4.0.3
##
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
##
## lowess
plot.stuff <- with(sp.oats, HSD.test(Y, nitroF, DFerror = 45, MSerror = 117));plot.stuff
## $statistics
## MSerror Df Mean CV MSD
## 117 45 103.9722 10.40341 9.618527
##
## $parameters
## test name.t ntr StudentizedRange alpha
## Tukey nitroF 4 3.772697 0.05
##
## $means
## Y std r Min Max Q25 Q50 Q75
## 0 79.38889 19.39417 18 53 117 63.25 72.0 94.25
## 0.2 98.88889 21.84407 18 64 140 83.75 95.0 112.50
## 0.4 114.22222 22.31738 18 81 161 97.75 115.0 124.75
## 0.6 123.38889 22.99908 18 86 174 106.25 121.5 139.00
##
## $comparison
## NULL
##
## $groups
## Y groups
## 0.6 123.38889 a
## 0.4 114.22222 a
## 0.2 98.88889 b
## 0 79.38889 c
##
## attr(,"class")
## [1] "group"
\[analisis~HSD.test\] ## Al comparar los valores de este test se observa que se obtuvo un mayor rendimiento en el nivel de nitrogeno 0.6, lo cual se observa con más claridad en un grafico de barras mas abajo..
names(plot.stuff)
## [1] "statistics" "parameters" "means" "comparison" "groups"
plot.stuff$means
## Y std r Min Max Q25 Q50 Q75
## 0 79.38889 19.39417 18 53 117 63.25 72.0 94.25
## 0.2 98.88889 21.84407 18 64 140 83.75 95.0 112.50
## 0.4 114.22222 22.31738 18 81 161 97.75 115.0 124.75
## 0.6 123.38889 22.99908 18 86 174 106.25 121.5 139.00
plot.stuff$groups
## Y groups
## 0.6 123.38889 a
## 0.4 114.22222 a
## 0.2 98.88889 b
## 0 79.38889 c
barplot2(plot.stuff$means[, 1])
barplot2(plot.stuff$means[, 1], names.arg = rownames(plot.stuff$means), xlab = "Nitrogen",
ylab = "Yield per Acre")
\[grafico~comparativo~y~conclusión\] ####El grafco inmediatamente anterior permite observar de manera más sencilla los resultados obtenidos en el HSD.test, confirmando que el mejor rendimiento estuvo presente el el nivel de nitrogeno de 0.6.
plot.stuff$groups
## Y groups
## 0.6 123.38889 a
## 0.4 114.22222 a
## 0.2 98.88889 b
## 0 79.38889 c
\[Diseño~parcelas~divididas~para~tres~factores\] ############################ Split-split################# ############################
\[resumen~diseño~experimental \] parcela principal=tipo de alimento (3 niveles cada uno dos repeticiones (2 ratas))
Sub-parcela= producto quimico para la preparacion pedazo de higado (2 productos y 2 repeticiones= cuatro niveles)
sub-subparcela= tecnica para medir el glyconeno (2 niveles)
library(readr)
split_split_rat <- read_csv("D:/9/diseno/clase/tarea/split_split_rat.csv")
## Parsed with column specification:
## cols(
## glycogen = col_double(),
## food = col_character(),
## rat = col_character(),
## prep = col_character(),
## method = col_character()
## )
View(split_split_rat)
spp.rat<- split_split_rat
spp.rat
## # A tibble: 48 x 5
## glycogen food rat prep method
## <dbl> <chr> <chr> <chr> <chr>
## 1 127 T1 Remy P1 A
## 2 126 T1 Remy P1 B
## 3 127 T1 Remy P2 A
## 4 121 T1 Remy P2 B
## 5 124 T1 Remy P1 A
## 6 125 T1 Remy P1 B
## 7 132 T1 Remy P2 A
## 8 138 T1 Remy P2 B
## 9 146 T1 Templeton P1 A
## 10 144 T1 Templeton P1 B
## # ... with 38 more rows
library(collapsibleTree)
collapsibleTreeSummary(spp.rat,c("food", "rat",
"prep", "method","glycogen"),nodeSize = "leafCount",
maxPercent = 50,attribute = "glycogen",linkLength =150,
fillFun = colorspace::terrain_hcl,tooltip = T)
fact.bad <- lm(glycogen ~ food * prep * method, data = spp.rat)
anova(fact.bad)
## Analysis of Variance Table
##
## Response: glycogen
## Df Sum Sq Mean Sq F value Pr(>F)
## food 2 3530.0 1765.02 32.2583 9.401e-09 ***
## prep 1 35.0 35.02 0.6401 0.4289
## method 1 54.2 54.19 0.9904 0.3263
## food:prep 2 133.3 66.65 1.2180 0.3077
## food:method 2 5.4 2.69 0.0491 0.9521
## prep:method 1 11.0 11.02 0.2014 0.6563
## food:prep:method 2 5.3 2.65 0.0484 0.9529
## Residuals 36 1969.7 54.72
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
sp.res <- aov(glycogen ~ food * prep + Error(rat/food), data = spp.rat)
## Warning in aov(glycogen ~ food * prep + Error(rat/food), data = spp.rat):
## Error() model is singular
summary(sp.res)
##
## Error: rat
## Df Sum Sq Mean Sq F value Pr(>F)
## food 2 3530 1765.0 6.22 0.0856 .
## Residuals 3 851 283.8
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## prep 1 35.0 35.02 1.144 0.291
## food:prep 2 133.3 66.65 2.176 0.127
## Residuals 39 1194.3 30.62
sp.res <- aov(glycogen ~ food * prep * method + Error(rat/food:prep), data = spp.rat)
## Warning in aov(glycogen ~ food * prep * method + Error(rat/food:prep), data =
## spp.rat): Error() model is singular
summary(sp.res)
##
## Error: rat
## Df Sum Sq Mean Sq F value Pr(>F)
## food 2 3530 1765.0 6.22 0.0856 .
## Residuals 3 851 283.8
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Error: rat:food:prep
## Df Sum Sq Mean Sq F value Pr(>F)
## prep 1 35.0 35.02 0.269 0.640
## food:prep 2 133.3 66.65 0.513 0.643
## Residuals 3 390.1 130.02
##
## Error: Within
## Df Sum Sq Mean Sq F value Pr(>F)
## method 1 54.2 54.19 2.232 0.146
## food:method 2 5.4 2.69 0.111 0.896
## prep:method 1 11.0 11.02 0.454 0.506
## food:prep:method 2 5.3 2.65 0.109 0.897
## Residuals 30 728.4 24.28
El anterior analisis de varianza es el adecuado, en el cual obsevamos: - que no se presenta triple interacción - no se presentan dobles interacciones lo que nos permite concluir que podemos sacar las conclusiones pertinentes de las variables independientes.