En un experimento se probaron dos métodos de siembra y tres variedades de arroz. Por razones de facilidad en el manejo del mismo, se decidió utilizar un arreglo en parcelas divididas, en donde las parcelas grandes correspondieron a los métodos de siembra y en las parcelas pequeñas se sembraron las tres variedades de arroz (Oryza sativa L.).
Los tratamientos se distribuyeron mediante un diseño en bloques completos al azar con 4 repeticiones. La variable de respuesta fiue kg/parcela de 25 m. A continuación se detallan los factores evaluados.
Métodos de siembra: I: Inundación S: Secano
Variedades: BB: Blue Bonnett BP: Belle Patna CR: Criolla
El Rendimiento de arroz en kg/parcela de 25 m’, al comparar distintos métodos de siembra en diferentes variedades de arroz.
# Crear un vector de paquetes
pacotes <- c("agricolae", "performance", "ggplot2", "doebioresearch",
"outliers","car", "readxl","tidyverse",
"RColorBrewer","nortest", "stats",
"agridat", "performance")
# Script para instalar y cargar librerias y dependencias
if(sum(as.numeric(!pacotes %in% installed.packages())) != 0){
instalador <- pacotes[!pacotes %in% installed.packages()]
for(i in 1:length(instalador)) {
install.packages(instalador, dependencies = T)
break()}
sapply(pacotes, require, character = T)
} else {
sapply(pacotes, require, character = T)
}
## Loading required package: agricolae
## Loading required package: performance
## Loading required package: ggplot2
## Loading required package: doebioresearch
## Warning: package 'doebioresearch' was built under R version 4.3.2
## Loading required package: outliers
## Loading required package: car
## Loading required package: carData
## Loading required package: readxl
## Loading required package: tidyverse
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ lubridate 1.9.2 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ dplyr::recode() masks car::recode()
## ✖ purrr::some() masks car::some()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## Loading required package: RColorBrewer
##
## Loading required package: nortest
##
## Loading required package: agridat
## Warning: package 'agridat' was built under R version 4.3.2
## agricolae performance ggplot2 doebioresearch outliers
## TRUE TRUE TRUE TRUE TRUE
## car readxl tidyverse RColorBrewer nortest
## TRUE TRUE TRUE TRUE TRUE
## stats agridat performance
## TRUE TRUE TRUE
df <- read_excel("D:/AGRONOMIA/SEMESTRE 9/SOFTWARE R/PARCELAS DIVIDIDAS/taller6.xlsx")
str(df)
## tibble [24 × 4] (S3: tbl_df/tbl/data.frame)
## $ Metodo_de_siembra: chr [1:24] "SECANO" "SECANO" "SECANO" "SECANO" ...
## $ Variedad : chr [1:24] "Blue_bonnette" "Blue_bonnette" "Blue_bonnette" "Blue_bonnette" ...
## $ bloque : num [1:24] 1 2 3 4 1 2 3 4 1 2 ...
## $ Rendimiento : num [1:24] 8.5 8.2 8 7.6 8 7 7.3 6.9 10 10.8 ...
df$Metodo_de_siembra <- as.factor(df$Metodo_de_siembra)
df$Variedad <- as.factor(df$Variedad)
df$bloque <- as.factor(df$bloque)
print(n=30,
df)
## # A tibble: 24 × 4
## Metodo_de_siembra Variedad bloque Rendimiento
## <fct> <fct> <fct> <dbl>
## 1 SECANO Blue_bonnette 1 8.5
## 2 SECANO Blue_bonnette 2 8.2
## 3 SECANO Blue_bonnette 3 8
## 4 SECANO Blue_bonnette 4 7.6
## 5 SECANO Belle_patna 1 8
## 6 SECANO Belle_patna 2 7
## 7 SECANO Belle_patna 3 7.3
## 8 SECANO Belle_patna 4 6.9
## 9 SECANO Criolla 1 10
## 10 SECANO Criolla 2 10.8
## 11 SECANO Criolla 3 11
## 12 SECANO Criolla 4 11.6
## 13 INUNDACION Blue_bonnette 1 5.8
## 14 INUNDACION Blue_bonnette 2 5.6
## 15 INUNDACION Blue_bonnette 3 5.2
## 16 INUNDACION Blue_bonnette 4 5.8
## 17 INUNDACION Belle_patna 1 7
## 18 INUNDACION Belle_patna 2 7.1
## 19 INUNDACION Belle_patna 3 7.3
## 20 INUNDACION Belle_patna 4 7.3
## 21 INUNDACION Criolla 1 8.3
## 22 INUNDACION Criolla 2 8
## 23 INUNDACION Criolla 3 8
## 24 INUNDACION Criolla 4 8.7
df%>%
select_if(is.numeric)%>%
outlier()
## Rendimiento
## 11.6
df[4]
## # A tibble: 24 × 1
## Rendimiento
## <dbl>
## 1 8.5
## 2 8.2
## 3 8
## 4 7.6
## 5 8
## 6 7
## 7 7.3
## 8 6.9
## 9 10
## 10 10.8
## # ℹ 14 more rows
modelo <- splitplot(df[4], df$bloque, df$Metodo_de_siembra, df$Variedad, 3)
modelo
## $Rendimiento
## $Rendimiento[[1]]
## $Rendimiento[[1]][[1]]
## Analysis of Variance Table
##
## Response: dependent.var
## Df Sum Sq Mean Sq F value Pr(>F)
## block 3 0.175 0.0583 0.8607 0.5476318
## main.plot 1 18.027 18.0267 265.9672 0.0005016 ***
## Ea 3 0.203 0.0678
## sub.plot 2 34.308 17.1538 75.2174 1.626e-07 ***
## main.plot:sub.plot 2 7.776 3.8879 17.0481 0.0003112 ***
## Eb 12 2.737 0.2281
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## $Rendimiento[[1]][[2]]
## [1] "CV(a): 3.306 , CV(b) : 6.064"
##
## $Rendimiento[[1]][[3]]
## [1] "R Square 0.957"
##
## $Rendimiento[[1]][[4]]
##
## Shapiro-Wilk normality test
##
## data: model$residuals
## W = 0.95513, p-value = 0.3486
##
##
## $Rendimiento[[1]][[5]]
## [1] "Normality assumption is not violated"
##
## $Rendimiento[[1]][[6]]
## [1] "The means of one or more levels of main plot factor are not same, so go for multiple comparison test"
##
## $Rendimiento[[1]][[7]]
## $Rendimiento[[1]][[7]][[1]]
## MSerror Df Mean CV MSD
## 0.06777778 3 7.875 3.305926 0.3382432
##
## $Rendimiento[[1]][[7]][[2]]
## test name.t ntr StudentizedRange alpha
## Tukey main.plot 2 4.500659 0.05
##
## $Rendimiento[[1]][[7]][[3]]
## dependent.var groups
## SECANO 8.741667 a
## INUNDACION 7.008333 b
##
##
## $Rendimiento[[1]][[8]]
## [1] "The means of one or more levels of sub plot factor are not same, so go for multiple comparison test"
##
## $Rendimiento[[1]][[9]]
## $Rendimiento[[1]][[9]][[1]]
## MSerror Df Mean CV MSD
## 0.2280556 12 7.875 6.064148 0.6370213
##
## $Rendimiento[[1]][[9]][[2]]
## test name.t ntr StudentizedRange alpha
## Tukey sub.plot 3 3.772929 0.05
##
## $Rendimiento[[1]][[9]][[3]]
## dependent.var groups
## Criolla 9.5500 a
## Belle_patna 7.2375 b
## Blue_bonnette 6.8375 b
##
##
## $Rendimiento[[1]][[10]]
## [1] "The means of one or more levels of interaction are not same, so go for multiple comparison test"
##
## $Rendimiento[[1]][[11]]
## $Rendimiento[[1]][[11]][[1]]
## MSerror Df Mean CV MSD
## 0.2280556 12 7.875 6.064148 1.13424
##
## $Rendimiento[[1]][[11]][[2]]
## test name.t ntr StudentizedRange alpha
## Tukey main.plot:sub.plot 6 4.750231 0.05
##
## $Rendimiento[[1]][[11]][[3]]
## dependent.var groups
## SECANO:Criolla 10.850 a
## INUNDACION:Criolla 8.250 b
## SECANO:Blue_bonnette 8.075 b
## SECANO:Belle_patna 7.300 b
## INUNDACION:Belle_patna 7.175 b
## INUNDACION:Blue_bonnette 5.600 c
-El bloque no parece tener un efecto significativo en la variable medida, ya que el valor p es relativamente alto.
-La parcela principal tiene un efecto significativo en la variable medida ya que el valor p es muy bajo.
-La subparcela tiene un efecto significativo en la variable medida debido al valor p muy bajo.
-La interacción entre la parcela principal y la subparcela es significativa, ya que el valor p es bajo.
-La variable dependiente (Rendimiento) tiene diferentes medias según las interacciones entre el Método de Siembra y la Variedad.la interaccion SECANO:Criolla tiene la media más alta (‘a’), seguido por varios grupos con medias similares (‘b’), y finalmente,a interaccion INUNDACION:Blue_bonnette tiene la media más baja (‘c’)
rendimiento_data <- as.data.frame(modelo$Rendimiento[[1]][[11]][[3]])
rendimiento_data <- rownames_to_column(rendimiento_data, var = "Interaction")
names(rendimiento_data) <- c("Interacción", "Rendimiento", "Grupos")
library(ggplot2)
library(plotly)
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
p <- ggplot(df, aes(x = as.character(Metodo_de_siembra), y = Rendimiento,
group = Variedad, color = Variedad)) +
geom_smooth() +
geom_point() +
theme_bw() +
labs(title = "Rendimiento por Método de siembra y Variedad",
x = "Metodo de Siembra",
y = "Rendimiento (Ton/ha)",
color = "Variedad")
# Convertir el gráfico ggplot2 en un gráfico interactivo de plotly
p_interactivo <- ggplotly(p)
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'
p_interactivo
Optar por la siembra de la Variedda CR (Criolla), en condiciones de secano, asi poder mejorar significativamente el rendimiento, dado que muestra la media más alta (‘a’). Evitar sembrar la variedad Blue_bonnette en INUNDACION,para así optimizar la producción agrícola.