Todo nuevo desde aca

install.packages("readxl")  # Para leer archivos Excel
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("ggplot2")  # Para visualización de datos (opcional)
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(readxl)
library(ggplot2)
library(outliers)
library(gridExtra)

lectura de datos

datos = read_excel("//cloud//project//pesogranopla.xlsx", sheet = 1)
print(datos)
## # A tibble: 48 × 3
##    tratamiento surco  peso
##    <chr>       <dbl> <dbl>
##  1 Control         1 10.2 
##  2 Control         1 23.8 
##  3 Control         1 30.5 
##  4 Control         2 21.0 
##  5 Control         2 11.9 
##  6 Control         2 24.4 
##  7 Control         3  8.49
##  8 Control         3  9.6 
##  9 Control         3  9.75
## 10 Control         4 30.0 
## # ℹ 38 more rows
str(datos)
## tibble [48 × 3] (S3: tbl_df/tbl/data.frame)
##  $ tratamiento: chr [1:48] "Control" "Control" "Control" "Control" ...
##  $ surco      : num [1:48] 1 1 1 2 2 2 3 3 3 4 ...
##  $ peso       : num [1:48] 10.2 23.8 30.5 21 11.9 ...
summary(datos)
##  tratamiento            surco           peso      
##  Length:48          Min.   :1.00   Min.   : 6.24  
##  Class :character   1st Qu.:1.75   1st Qu.:16.82  
##  Mode  :character   Median :2.50   Median :22.64  
##                     Mean   :2.50   Mean   :21.52  
##                     3rd Qu.:3.25   3rd Qu.:25.37  
##                     Max.   :4.00   Max.   :35.74
datos$surco <- factor(datos$surco)
datos$tratamiento <- factor(datos$tratamiento, levels = c("Control", "65mg/1LH2O", "130mg/1LH2O", "260mg/1LH2O"))
anovapeso = aov(peso ~ tratamiento + surco, data = datos)
summary(anovapeso)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## tratamiento  3  350.2  116.74   3.067 0.0384 *
## surco        3  247.8   82.58   2.170 0.1062  
## Residuals   41 1560.6   38.06                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anovapeso, "tratamiento")
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = peso ~ tratamiento + surco, data = datos)
## 
## $tratamiento
##                               diff         lwr       upr     p adj
## 65mg/1LH2O-Control       3.7191667  -3.0250481 10.463381 0.4605493
## 130mg/1LH2O-Control      7.6075000   0.8632852 14.351715 0.0216488
## 260mg/1LH2O-Control      4.3450000  -2.3992148 11.089215 0.3241307
## 130mg/1LH2O-65mg/1LH2O   3.8883333  -2.8558815 10.632548 0.4214778
## 260mg/1LH2O-65mg/1LH2O   0.6258333  -6.1183815  7.370048 0.9945274
## 260mg/1LH2O-130mg/1LH2O -3.2625000 -10.0067148  3.481715 0.5711207
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(agricolae)
duncan.test(anovapeso, 'tratamiento', console = T)
## 
## Study: anovapeso ~ "tratamiento"
## 
## Duncan's new multiple range test
## for peso 
## 
## Mean Square Error:  38.06416 
## 
## tratamiento,  means
## 
##                 peso      std  r       se   Min   Max     Q25    Q50     Q75
## 130mg/1LH2O 25.21417 5.982334 12 1.781015 16.40 35.74 21.6800 24.990 29.7075
## 260mg/1LH2O 21.95167 5.368055 12 1.781015 11.02 30.14 19.6575 22.965 24.8850
## 65mg/1LH2O  21.32583 4.229761 12 1.781015 15.78 30.72 19.3875 19.910 23.5975
## Control     17.60667 9.050050 12 1.781015  6.24 30.53  9.7125 16.455 24.6050
## 
## Alpha: 0.05 ; DF Error: 41 
## 
## Critical Range
##        2        3        4 
## 5.086689 5.348624 5.520074 
## 
## Means with the same letter are not significantly different.
## 
##                 peso groups
## 130mg/1LH2O 25.21417      a
## 260mg/1LH2O 21.95167     ab
## 65mg/1LH2O  21.32583     ab
## Control     17.60667      b
#Normalidad de residuos
shapiro.test(anovapeso$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  anovapeso$residuals
## W = 0.98594, p-value = 0.8287
#Igualdad de varianzas
bartlett.test(anovapeso$residuals, datos$tratamiento)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  anovapeso$residuals and datos$tratamiento
## Bartlett's K-squared = 6.5607, df = 3, p-value = 0.0873
### instalar los paquetes para las graficas 
# Instalar los paquetes necesarios
install.packages("multcomp")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Cargar los paquetes
library(multcomp)
## Loading required package: mvtnorm
## Loading required package: survival
## Loading required package: TH.data
## Loading required package: MASS
## 
## Attaching package: 'TH.data'
## The following object is masked from 'package:MASS':
## 
##     geyser
library(agricolae)
# Posthoc (letras)
posthoc1 <- glht(anovapeso, linfct = mcp(tratamiento = "Tukey"))
letras1 <- cld(posthoc1)$mcletters$Letters
print(letras1)
##     Control  65mg/1LH2O 130mg/1LH2O 260mg/1LH2O 
##         "a"        "ab"         "b"        "ab"
# Calcular las medias y los errores estándar para los tratamientos
install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following object is masked from 'package:gridExtra':
## 
##     combine
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
medias1<- datos %>%
  group_by(tratamiento) %>%
  summarise(Media1 = mean(peso), SE1 = sd(peso)/sqrt(n()))
# Gráfica de barras
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(ggplot2)
# Agregar las letras a las medias
medias1$Letras <- letras1

# Crear el gráfico de barras
#COLORES DE TRATAMIENTOS
colores <- c("Control" = "brown2", "65mg/1LH2O" = "#97FFFF", "130mg/1LH2O" = "#90EE90", "260mg/1LH2O" = "#9F79EE")
ggplot(medias1, aes(x = tratamiento, y = Media1, fill = tratamiento)) +
  geom_bar(stat = "identity", color = "black") +
  geom_errorbar(aes(ymin = Media1 - SE1, ymax = Media1 + SE1), width = 0.2) +
  geom_text(aes(label = letras1, y = Media1 + SE1 + 0.5), vjust = 0) +
  labs(title = "Peso de granos x planta",x = "Tratamientos", y = "peso (gr)") +
  theme_minimal() +
  scale_fill_manual(values = colores)+
  theme(
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12)
  )

### Numero de vainas por planta

install.packages("readxl")  # Para leer archivos Excel
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("ggplot2")  # Para visualización de datos (opcional)
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(readxl)
library(ggplot2)
library(outliers)
library(gridExtra)

lectura de datos

datos = read_excel("//cloud//project//pesogranopla.xlsx", sheet = 2)
print(datos)
## # A tibble: 48 × 3
##    tratamiento surco vainas
##    <chr>       <dbl>  <dbl>
##  1 Control         1      7
##  2 Control         1      6
##  3 Control         1      8
##  4 Control         2      6
##  5 Control         2      5
##  6 Control         2     12
##  7 Control         3      5
##  8 Control         3      5
##  9 Control         3      8
## 10 Control         4      6
## # ℹ 38 more rows
str(datos)
## tibble [48 × 3] (S3: tbl_df/tbl/data.frame)
##  $ tratamiento: chr [1:48] "Control" "Control" "Control" "Control" ...
##  $ surco      : num [1:48] 1 1 1 2 2 2 3 3 3 4 ...
##  $ vainas     : num [1:48] 7 6 8 6 5 12 5 5 8 6 ...
summary(datos)
##  tratamiento            surco          vainas      
##  Length:48          Min.   :1.00   Min.   : 4.000  
##  Class :character   1st Qu.:1.75   1st Qu.: 6.000  
##  Mode  :character   Median :2.50   Median : 6.000  
##                     Mean   :2.50   Mean   : 7.167  
##                     3rd Qu.:3.25   3rd Qu.: 8.250  
##                     Max.   :4.00   Max.   :12.000
datos$surco <- factor(datos$surco)
datos$tratamiento <- factor(datos$tratamiento, levels = c("Control", "65mg/1LH2O", "130mg/1LH2O", "260mg/1LH2O"))
anovavainas = aov(vainas ~ tratamiento + surco, data = datos)
summary(anovavainas)
##             Df Sum Sq Mean Sq F value Pr(>F)  
## tratamiento  3   4.67   1.556   0.366 0.7780  
## surco        3  33.67  11.222   2.639 0.0622 .
## Residuals   41 174.33   4.252                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anovavainas, "tratamiento")
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = vainas ~ tratamiento + surco, data = datos)
## 
## $tratamiento
##                               diff       lwr      upr     p adj
## 65mg/1LH2O-Control       0.1666667 -2.087425 2.420758 0.9972064
## 130mg/1LH2O-Control      0.8333333 -1.420758 3.087425 0.7559469
## 260mg/1LH2O-Control      0.3333333 -1.920758 2.587425 0.9786735
## 130mg/1LH2O-65mg/1LH2O   0.6666667 -1.587425 2.920758 0.8576913
## 260mg/1LH2O-65mg/1LH2O   0.1666667 -2.087425 2.420758 0.9972064
## 260mg/1LH2O-130mg/1LH2O -0.5000000 -2.754092 1.754092 0.9333382
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(agricolae)
duncan.test(anovavainas, 'tratamiento', console = T)
## 
## Study: anovavainas ~ "tratamiento"
## 
## Duncan's new multiple range test
## for vainas 
## 
## Mean Square Error:  4.252033 
## 
## tratamiento,  means
## 
##               vainas      std  r        se Min Max  Q25 Q50  Q75
## 130mg/1LH2O 7.666667 2.348436 12 0.5952613   5  12 6.00 7.0 9.25
## 260mg/1LH2O 7.166667 2.081666 12 0.5952613   4  12 6.00 6.5 8.25
## 65mg/1LH2O  7.000000 2.256304 12 0.5952613   5  11 5.00 6.0 9.00
## Control     6.833333 1.992410 12 0.5952613   5  12 5.75 6.0 8.00
## 
## Alpha: 0.05 ; DF Error: 41 
## 
## Critical Range
##        2        3        4 
## 1.700103 1.787649 1.844952 
## 
## Means with the same letter are not significantly different.
## 
##               vainas groups
## 130mg/1LH2O 7.666667      a
## 260mg/1LH2O 7.166667      a
## 65mg/1LH2O  7.000000      a
## Control     6.833333      a
#Normalidad de residuos
shapiro.test(anovavainas$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  anovavainas$residuals
## W = 0.97127, p-value = 0.2837
#Igualdad de varianzas
bartlett.test(anovavainas$residuals, datos$tratamiento)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  anovavainas$residuals and datos$tratamiento
## Bartlett's K-squared = 0.63164, df = 3, p-value = 0.8892
### instalar los paquetes para las graficas 
# Instalar los paquetes necesarios
install.packages("multcomp")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Cargar los paquetes
library(multcomp)
library(agricolae)
# Posthoc (letras)
posthoc2 <- glht(anovavainas, linfct = mcp(tratamiento = "Tukey"))
letras2 <- cld(posthoc1)$mcletters$Letters
print(letras2)
##     Control  65mg/1LH2O 130mg/1LH2O 260mg/1LH2O 
##         "a"        "ab"         "b"        "ab"
# Calcular las medias y los errores estándar para los tratamientos
install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(dplyr)
medias2<- datos %>%
  group_by(tratamiento) %>%
  summarise(Media2 = mean(vainas), SE2 = sd(vainas)/sqrt(n()))
# Gráfica de barras
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(ggplot2)
# Agregar las letras a las medias
medias2$Letras <- letras2

# Crear el gráfico de barras
#COLORES DE TRATAMIENTOS
colores <- c("Control" = "brown2", "65mg/1LH2O" = "#97FFFF", "130mg/1LH2O" = "#90EE90", "260mg/1LH2O" = "#9F79EE")
ggplot(medias2, aes(x = tratamiento, y = Media2, fill = tratamiento)) +
  geom_bar(stat = "identity", color = "black") +
  geom_errorbar(aes(ymin = Media2 - SE2, ymax = Media2 + SE2), width = 0.2) +
  geom_text(aes(label = letras2, y = Media2 + SE2 + 0.5), vjust = 0) +
  labs(title = "Numero de vainas x planta",x = "Tratamientos", y = "Numero de vainas") +
  theme_minimal() +
  scale_fill_manual(values = colores)+
  theme(
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12)
  )

Numero de granos por planta

install.packages("readxl")  # Para leer archivos Excel
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("ggplot2")  # Para visualización de datos (opcional)
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(readxl)
library(ggplot2)
library(outliers)
library(gridExtra)

lectura de datos

datos = read_excel("//cloud//project//pesogranopla.xlsx", sheet = 3)
print(datos)
## # A tibble: 48 × 3
##    tratamiento surco granos
##    <chr>       <dbl>  <dbl>
##  1 Control         1     19
##  2 Control         1     41
##  3 Control         1     49
##  4 Control         2     31
##  5 Control         2     31
##  6 Control         2     42
##  7 Control         3     30
##  8 Control         3     31
##  9 Control         3     25
## 10 Control         4     21
## # ℹ 38 more rows
str(datos)
## tibble [48 × 3] (S3: tbl_df/tbl/data.frame)
##  $ tratamiento: chr [1:48] "Control" "Control" "Control" "Control" ...
##  $ surco      : num [1:48] 1 1 1 2 2 2 3 3 3 4 ...
##  $ granos     : num [1:48] 19 41 49 31 31 42 30 31 25 21 ...
summary(datos)
##  tratamiento            surco          granos     
##  Length:48          Min.   :1.00   Min.   :18.00  
##  Class :character   1st Qu.:1.75   1st Qu.:26.75  
##  Mode  :character   Median :2.50   Median :31.00  
##                     Mean   :2.50   Mean   :33.10  
##                     3rd Qu.:3.25   3rd Qu.:39.00  
##                     Max.   :4.00   Max.   :53.00
datos$surco <- factor(datos$surco)
datos$tratamiento <- factor(datos$tratamiento, levels = c("Control", "65mg/1LH2O", "130mg/1LH2O", "260mg/1LH2O"))
anovagranos = aov(granos ~ tratamiento + surco, data = datos)
summary(anovagranos)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## tratamiento  3   87.6    29.2   0.422 0.73825   
## surco        3 1004.7   334.9   4.841 0.00564 **
## Residuals   41 2836.2    69.2                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anovagranos, "tratamiento")
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = granos ~ tratamiento + surco, data = datos)
## 
## $tratamiento
##                              diff       lwr       upr     p adj
## 65mg/1LH2O-Control      2.0000000 -7.091778 11.091778 0.9348363
## 130mg/1LH2O-Control     2.7500000 -6.341778 11.841778 0.8494156
## 260mg/1LH2O-Control     3.6666667 -5.425111 12.758444 0.7036036
## 130mg/1LH2O-65mg/1LH2O  0.7500000 -8.341778  9.841778 0.9961354
## 260mg/1LH2O-65mg/1LH2O  1.6666667 -7.425111 10.758444 0.9606987
## 260mg/1LH2O-130mg/1LH2O 0.9166667 -8.175111 10.008444 0.9930117
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(agricolae)
duncan.test(anovagranos, 'tratamiento', console = T)
## 
## Study: anovagranos ~ "tratamiento"
## 
## Duncan's new multiple range test
## for granos 
## 
## Mean Square Error:  69.1753 
## 
## tratamiento,  means
## 
##               granos      std  r      se Min Max   Q25 Q50   Q75
## 130mg/1LH2O 33.75000 9.743296 12 2.40096  21  53 27.25  32 39.25
## 260mg/1LH2O 34.66667 9.948351 12 2.40096  21  53 26.25  35 40.00
## 65mg/1LH2O  33.00000 8.000000 12 2.40096  25  52 27.75  30 38.25
## Control     31.00000 9.553676 12 2.40096  18  49 24.00  31 35.75
## 
## Alpha: 0.05 ; DF Error: 41 
## 
## Critical Range
##        2        3        4 
## 6.857291 7.210402 7.441531 
## 
## Means with the same letter are not significantly different.
## 
##               granos groups
## 260mg/1LH2O 34.66667      a
## 130mg/1LH2O 33.75000      a
## 65mg/1LH2O  33.00000      a
## Control     31.00000      a
#Normalidad de residuos
shapiro.test(anovagranos$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  anovagranos$residuals
## W = 0.97775, p-value = 0.4888
#Igualdad de varianzas
bartlett.test(anovagranos$residuals, datos$tratamiento)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  anovagranos$residuals and datos$tratamiento
## Bartlett's K-squared = 2.5022, df = 3, p-value = 0.4749
### instalar los paquetes para las graficas 
# Instalar los paquetes necesarios
install.packages("multcomp")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Cargar los paquetes
library(multcomp)
library(agricolae)
# Posthoc (letras)
posthoc3 <- glht(anovagranos, linfct = mcp(tratamiento = "Tukey"))
letras3 <- cld(posthoc3)$mcletters$Letters
print(letras3)
##     Control  65mg/1LH2O 130mg/1LH2O 260mg/1LH2O 
##         "a"         "a"         "a"         "a"
# Calcular las medias y los errores estándar para los tratamientos
install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(dplyr)
medias3<- datos %>%
  group_by(tratamiento) %>%
  summarise(Media3 = mean(granos), SE3 = sd(granos)/sqrt(n()))
# Gráfica de barras
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(ggplot2)
# Agregar las letras a las medias
medias3$Letras <- letras3

# Crear el gráfico de barras
#COLORES DE TRATAMIENTOS
colores <- c("Control" = "brown2", "65mg/1LH2O" = "#97FFFF", "130mg/1LH2O" = "#90EE90", "260mg/1LH2O" = "#9F79EE")
ggplot(medias3, aes(x = tratamiento, y = Media3, fill = tratamiento)) +
  geom_bar(stat = "identity", color = "black") +
  geom_errorbar(aes(ymin = Media3 - SE3, ymax = Media3 + SE3), width = 0.2) +
  geom_text(aes(label = letras3, y = Media3 + SE3 + 0.5), vjust = 0) +
  labs(title = "Numero de granos x planta",x = "Tratamientos", y = "Numero de granos") +
  theme_minimal() +
  scale_fill_manual(values = colores)+
  theme(
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12)
  )

#Peso de vainas con granos

install.packages("readxl")  # Para leer archivos Excel
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("ggplot2")  # Para visualización de datos (opcional)
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(readxl)
library(ggplot2)
library(outliers)
library(gridExtra)

lectura de datos

datos = read_excel("//cloud//project//pesogranopla.xlsx", sheet = 4)
print(datos)
## # A tibble: 48 × 3
##    tratamiento surco pesovainas
##    <chr>       <dbl>      <dbl>
##  1 Control         1       4.5 
##  2 Control         1       5.62
##  3 Control         1       6.16
##  4 Control         2       5.33
##  5 Control         2       6.4 
##  6 Control         2       4.93
##  7 Control         3       4.27
##  8 Control         3       4.54
##  9 Control         3       4.35
## 10 Control         4       4.88
## # ℹ 38 more rows
str(datos)
## tibble [48 × 3] (S3: tbl_df/tbl/data.frame)
##  $ tratamiento: chr [1:48] "Control" "Control" "Control" "Control" ...
##  $ surco      : num [1:48] 1 1 1 2 2 2 3 3 3 4 ...
##  $ pesovainas : num [1:48] 4.5 5.62 6.16 5.33 6.4 4.93 4.27 4.54 4.35 4.88 ...
summary(datos)
##  tratamiento            surco        pesovainas    
##  Length:48          Min.   :1.00   Min.   : 3.450  
##  Class :character   1st Qu.:1.75   1st Qu.: 4.815  
##  Mode  :character   Median :2.50   Median : 5.390  
##                     Mean   :2.50   Mean   : 5.517  
##                     3rd Qu.:3.25   3rd Qu.: 5.930  
##                     Max.   :4.00   Max.   :12.600
datos$surco <- factor(datos$surco)
datos$tratamiento <- factor(datos$tratamiento, levels = c("Control", "65mg/1LH2O", "130mg/1LH2O", "260mg/1LH2O"))
anovapesovainas = aov(pesovainas ~ tratamiento + surco, data = datos)
summary(anovapesovainas)
##             Df Sum Sq Mean Sq F value Pr(>F)
## tratamiento  3   5.03   1.678   0.899  0.450
## surco        3   6.97   2.324   1.245  0.306
## Residuals   41  76.52   1.866
TukeyHSD(anovapesovainas, "tratamiento")
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = pesovainas ~ tratamiento + surco, data = datos)
## 
## $tratamiento
##                               diff        lwr      upr     p adj
## 65mg/1LH2O-Control       0.4141667 -1.0791655 1.907499 0.8792528
## 130mg/1LH2O-Control      0.8900000 -0.6033322 2.383332 0.3922170
## 260mg/1LH2O-Control      0.6091667 -0.8841655 2.102499 0.6961856
## 130mg/1LH2O-65mg/1LH2O   0.4758333 -1.0174988 1.969166 0.8286217
## 260mg/1LH2O-65mg/1LH2O   0.1950000 -1.2983322 1.688332 0.9851140
## 260mg/1LH2O-130mg/1LH2O -0.2808333 -1.7741655 1.212499 0.9577783
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(agricolae)
duncan.test(anovapesovainas, 'tratamiento', console = T)
## 
## Study: anovapesovainas ~ "tratamiento"
## 
## Duncan's new multiple range test
## for pesovainas 
## 
## Mean Square Error:  1.866235 
## 
## tratamiento,  means
## 
##             pesovainas       std  r        se  Min   Max    Q25   Q50    Q75
## 130mg/1LH2O   5.928333 2.3772705 12 0.3943597 4.11 12.60 4.4025 5.380 6.0125
## 260mg/1LH2O   5.647500 0.9883791 12 0.3943597 3.45  7.27 5.3650 5.445 6.0225
## 65mg/1LH2O    5.452500 0.6868919 12 0.3943597 4.22  6.80 5.0450 5.555 5.9000
## Control       5.038333 0.6997770 12 0.3943597 4.27  6.40 4.5300 4.875 5.4025
## 
## Alpha: 0.05 ; DF Error: 41 
## 
## Critical Range
##        2        3        4 
## 1.126316 1.184315 1.222278 
## 
## Means with the same letter are not significantly different.
## 
##             pesovainas groups
## 130mg/1LH2O   5.928333      a
## 260mg/1LH2O   5.647500      a
## 65mg/1LH2O    5.452500      a
## Control       5.038333      a
#Normalidad de residuos
shapiro.test(anovapesovainas$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  anovapesovainas$residuals
## W = 0.82455, p-value = 4.899e-06
#Igualdad de varianzas
bartlett.test(anovapesovainas$residuals, datos$tratamiento)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  anovapesovainas$residuals and datos$tratamiento
## Bartlett's K-squared = 23.831, df = 3, p-value = 2.709e-05
### instalar los paquetes para las graficas 
# Instalar los paquetes necesarios
install.packages("multcomp")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Cargar los paquetes
library(multcomp)
library(agricolae)
# Posthoc (letras)
posthoc4 <- glht(anovapesovainas, linfct = mcp(tratamiento = "Tukey"))
letras4 <- cld(posthoc4)$mcletters$Letters
print(letras4)
##     Control  65mg/1LH2O 130mg/1LH2O 260mg/1LH2O 
##         "a"         "a"         "a"         "a"
# Calcular las medias y los errores estándar para los tratamientos
install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(dplyr)
medias4<- datos %>%
  group_by(tratamiento) %>%
  summarise(Media4 = mean(pesovainas), SE4 = sd(pesovainas)/sqrt(n()))
# Gráfica de barras
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(ggplot2)
# Agregar las letras a las medias
medias4$Letras <- letras4

# Crear el gráfico de barras
#COLORES DE TRATAMIENTOS
colores <- c("Control" = "brown2", "65mg/1LH2O" = "#97FFFF", "130mg/1LH2O" = "#90EE90", "260mg/1LH2O" = "#9F79EE")
ggplot(medias4, aes(x = tratamiento, y = Media4, fill = tratamiento)) +
  geom_bar(stat = "identity", color = "black") +
  geom_errorbar(aes(ymin = Media4 - SE4, ymax = Media4 + SE4), width = 0.2) +
  geom_text(aes(label = letras4, y = Media4 + SE4 + 0.5), vjust = 0) +
  labs(title = "Peso de vainas con granos",x = "Tratamientos", y = "Peso de vainas") +
  theme_minimal() +
  scale_fill_manual(values = colores)+
  theme(
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12)
  )

Longitud de vainas

install.packages("readxl")  # Para leer archivos Excel
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("ggplot2")  # Para visualización de datos (opcional)
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(readxl)
library(ggplot2)
library(outliers)
library(gridExtra)

lectura de datos

datos = read_excel("//cloud//project//pesogranopla.xlsx", sheet = 5)
print(datos)
## # A tibble: 48 × 3
##    tratamiento surco longitud
##    <chr>       <dbl>    <dbl>
##  1 Control         1     6.73
##  2 Control         1     6.99
##  3 Control         1     6.58
##  4 Control         2     6.57
##  5 Control         2     7.4 
##  6 Control         2     6.85
##  7 Control         3     7.78
##  8 Control         3     8.25
##  9 Control         3     8.27
## 10 Control         4     7   
## # ℹ 38 more rows
str(datos)
## tibble [48 × 3] (S3: tbl_df/tbl/data.frame)
##  $ tratamiento: chr [1:48] "Control" "Control" "Control" "Control" ...
##  $ surco      : num [1:48] 1 1 1 2 2 2 3 3 3 4 ...
##  $ longitud   : num [1:48] 6.73 6.99 6.58 6.57 7.4 6.85 7.78 8.25 8.27 7 ...
summary(datos)
##  tratamiento            surco         longitud    
##  Length:48          Min.   :1.00   Min.   :6.150  
##  Class :character   1st Qu.:1.75   1st Qu.:6.725  
##  Mode  :character   Median :2.50   Median :7.400  
##                     Mean   :2.50   Mean   :7.338  
##                     3rd Qu.:3.25   3rd Qu.:7.985  
##                     Max.   :4.00   Max.   :8.640
datos$surco <- factor(datos$surco)
datos$tratamiento <- factor(datos$tratamiento, levels = c("Control", "65mg/1LH2O", "130mg/1LH2O", "260mg/1LH2O"))
anovalongitud = aov(longitud ~ tratamiento + surco, data = datos)
summary(anovalongitud)
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## tratamiento  3  0.051   0.017   0.066   0.978    
## surco        3 13.656   4.552  17.699 1.6e-07 ***
## Residuals   41 10.544   0.257                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anovalongitud, "tratamiento")
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = longitud ~ tratamiento + surco, data = datos)
## 
## $tratamiento
##                                diff        lwr       upr     p adj
## 65mg/1LH2O-Control       0.05833333 -0.4960280 0.6126947 0.9920763
## 130mg/1LH2O-Control      0.05083333 -0.5035280 0.6051947 0.9947163
## 260mg/1LH2O-Control      0.09083333 -0.4635280 0.6451947 0.9713955
## 130mg/1LH2O-65mg/1LH2O  -0.00750000 -0.5618614 0.5468614 0.9999826
## 260mg/1LH2O-65mg/1LH2O   0.03250000 -0.5218614 0.5868614 0.9985993
## 260mg/1LH2O-130mg/1LH2O  0.04000000 -0.5143614 0.5943614 0.9974019
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(agricolae)
duncan.test(anovalongitud, 'tratamiento', console = T)
## 
## Study: anovalongitud ~ "tratamiento"
## 
## Duncan's new multiple range test
## for longitud 
## 
## Mean Square Error:  0.2571813 
## 
## tratamiento,  means
## 
##             longitud       std  r       se  Min  Max    Q25   Q50   Q75
## 130mg/1LH2O 7.339167 0.7547963 12 0.146396 6.31 8.50 6.6925 7.355 7.995
## 260mg/1LH2O 7.379167 0.6419071 12 0.146396 6.15 8.03 7.1900 7.470 7.985
## 65mg/1LH2O  7.346667 0.9062243 12 0.146396 6.20 8.64 6.6675 7.040 8.345
## Control     7.288333 0.6300770 12 0.146396 6.57 8.27 6.8200 7.030 7.830
## 
## Alpha: 0.05 ; DF Error: 41 
## 
## Critical Range
##         2         3         4 
## 0.4181160 0.4396465 0.4537394 
## 
## Means with the same letter are not significantly different.
## 
##             longitud groups
## 260mg/1LH2O 7.379167      a
## 65mg/1LH2O  7.346667      a
## 130mg/1LH2O 7.339167      a
## Control     7.288333      a
#Normalidad de residuos
shapiro.test(anovalongitud$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  anovalongitud$residuals
## W = 0.9765, p-value = 0.4426
#Igualdad de varianzas
bartlett.test(anovalongitud$residuals, datos$tratamiento)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  anovalongitud$residuals and datos$tratamiento
## Bartlett's K-squared = 2.7782, df = 3, p-value = 0.4271
### instalar los paquetes para las graficas 
# Instalar los paquetes necesarios
install.packages("multcomp")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Cargar los paquetes
library(multcomp)
library(agricolae)
# Posthoc (letras)
posthoc5 <- glht(anovalongitud, linfct = mcp(tratamiento = "Tukey"))
letras5 <- cld(posthoc5)$mcletters$Letters
print(letras5)
##     Control  65mg/1LH2O 130mg/1LH2O 260mg/1LH2O 
##         "a"         "a"         "a"         "a"
# Calcular las medias y los errores estándar para los tratamientos
install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(dplyr)
medias5<- datos %>%
  group_by(tratamiento) %>%
  summarise(Media5 = mean(longitud), SE5 = sd(longitud)/sqrt(n()))
# Agregar las letras a las medias
medias5$Letras <- letras5

# Crear el gráfico de barras
#COLORES DE TRATAMIENTOS
colores <- c("Control" = "brown2", "65mg/1LH2O" = "#97FFFF", "130mg/1LH2O" = "#90EE90", "260mg/1LH2O" = "#9F79EE")
ggplot(medias5, aes(x = tratamiento, y = Media5, fill = tratamiento)) +
  geom_bar(stat = "identity", color = "black") +
  geom_errorbar(aes(ymin = Media5 - SE5, ymax = Media5 + SE5), width = 0.2) +
  geom_text(aes(label = letras5, y = Media5 + SE5 + 0.5), vjust = 0) +
  labs(title = "Longitud de las vainas",x = "Tratamientos", y = "Longitud (cm)") +
  theme_minimal() +
  scale_fill_manual(values = colores)+
  theme(
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12)
  )

peso de 100 granos x tratamiento

datos = read_excel("//cloud//project//pesogranopla.xlsx", sheet = 7)
print(datos)
## # A tibble: 16 × 3
##    tratamiento surco peso100
##    <chr>       <dbl>   <dbl>
##  1 Control         1    57.4
##  2 Control         2    53.4
##  3 Control         3    27.6
##  4 Control         4    41.8
##  5 65mg/1LH2O      1    63.6
##  6 65mg/1LH2O      2    62.1
##  7 65mg/1LH2O      3    53.7
##  8 65mg/1LH2O      4    56.1
##  9 130mg/1LH2O     1    72.3
## 10 130mg/1LH2O     2    64.7
## 11 130mg/1LH2O     3    60.8
## 12 130mg/1LH2O     4    60.3
## 13 260mg/1LH2O     1    75.3
## 14 260mg/1LH2O     2    63.9
## 15 260mg/1LH2O     3    61.9
## 16 260mg/1LH2O     4    48.1
str(datos)
## tibble [16 × 3] (S3: tbl_df/tbl/data.frame)
##  $ tratamiento: chr [1:16] "Control" "Control" "Control" "Control" ...
##  $ surco      : num [1:16] 1 2 3 4 1 2 3 4 1 2 ...
##  $ peso100    : num [1:16] 57.4 53.4 27.6 41.9 63.6 ...
summary(datos)
##  tratamiento            surco         peso100     
##  Length:16          Min.   :1.00   Min.   :27.56  
##  Class :character   1st Qu.:1.75   1st Qu.:53.63  
##  Mode  :character   Median :2.50   Median :60.55  
##                     Mean   :2.50   Mean   :57.69  
##                     3rd Qu.:3.25   3rd Qu.:63.67  
##                     Max.   :4.00   Max.   :75.28
datos$surco <- factor(datos$surco)
datos$tratamiento <- factor(datos$tratamiento, levels = c("Control", "65mg/1LH2O", "130mg/1LH2O", "260mg/1LH2O"))
anovapeso100 = aov(peso100 ~ tratamiento + surco, data = datos)
summary(anovapeso100)
##             Df Sum Sq Mean Sq F value  Pr(>F)   
## tratamiento  3  917.3  305.78   8.108 0.00631 **
## surco        3  729.2  243.05   6.445 0.01276 * 
## Residuals    9  339.4   37.71                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anovapeso100, "tratamiento")
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = peso100 ~ tratamiento + surco, data = datos)
## 
## $tratamiento
##                            diff         lwr      upr     p adj
## 65mg/1LH2O-Control      13.8225   0.2664332 27.37857 0.0455900
## 130mg/1LH2O-Control     19.4825   5.9264332 33.03857 0.0067842
## 260mg/1LH2O-Control     17.2600   3.7039332 30.81607 0.0140771
## 130mg/1LH2O-65mg/1LH2O   5.6600  -7.8960668 19.21607 0.5832962
## 260mg/1LH2O-65mg/1LH2O   3.4375 -10.1185668 16.99357 0.8565292
## 260mg/1LH2O-130mg/1LH2O -2.2225 -15.7785668 11.33357 0.9541872
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(agricolae)
duncan.test(anovapeso100, 'tratamiento', console = T)
## 
## Study: anovapeso100 ~ "tratamiento"
## 
## Duncan's new multiple range test
## for peso100 
## 
## Mean Square Error:  37.7127 
## 
## tratamiento,  means
## 
##             peso100       std r       se   Min   Max     Q25    Q50    Q75
## 130mg/1LH2O 64.5300  5.535419 4 3.070533 60.29 72.28 60.6800 62.775 66.625
## 260mg/1LH2O 62.3075 11.129826 4 3.070533 48.14 75.28 58.4825 62.905 66.730
## 65mg/1LH2O  58.8700  4.725237 4 3.070533 53.72 63.60 55.4900 59.080 62.460
## Control     45.0475 13.392180 4 3.070533 27.56 57.40 38.2775 47.615 54.385
## 
## Alpha: 0.05 ; DF Error: 9 
## 
## Critical Range
##         2         3         4 
##  9.823168 10.252933 10.500502 
## 
## Means with the same letter are not significantly different.
## 
##             peso100 groups
## 130mg/1LH2O 64.5300      a
## 260mg/1LH2O 62.3075      a
## 65mg/1LH2O  58.8700      a
## Control     45.0475      b
#Normalidad de residuos
shapiro.test(anovapeso100$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  anovapeso100$residuals
## W = 0.91357, p-value = 0.1329
#Igualdad de varianzas
bartlett.test(anovapeso100$residuals, datos$tratamiento)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  anovapeso100$residuals and datos$tratamiento
## Bartlett's K-squared = 2.9519, df = 3, p-value = 0.3991
### instalar los paquetes para las graficas 
# Instalar los paquetes necesarios
install.packages("multcomp")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
install.packages("agricolae")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
# Cargar los paquetes
library(multcomp)
library(agricolae)
# Posthoc (letras)
posthoc7 <- glht(anovapeso100, linfct = mcp(tratamiento = "Tukey"))
letras7 <- cld(posthoc7)$mcletters$Letters
print(letras7)
##     Control  65mg/1LH2O 130mg/1LH2O 260mg/1LH2O 
##         "a"         "b"         "b"         "b"
# Calcular las medias y los errores estándar para los tratamientos
install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(dplyr)
medias7<- datos %>%
  group_by(tratamiento) %>%
  summarise(Media7 = mean(peso100), SE7 = sd(peso100)/sqrt(n()))
# Gráfica de barras
install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(ggplot2)
# Agregar las letras a las medias
medias7$Letras <- letras7

# Crear el gráfico de barras
#COLORES DE TRATAMIENTOS
colores <- c("Control" = "brown2", "65mg/1LH2O" = "#97FFFF", "130mg/1LH2O" = "#90EE90", "260mg/1LH2O" = "#9F79EE")
ggplot(medias7, aes(x = tratamiento, y = Media7, fill = tratamiento)) +
  geom_bar(stat = "identity", color = "black") +
  geom_errorbar(aes(ymin = Media7 - SE7, ymax = Media7 + SE7), width = 0.2) +
  geom_text(aes(label = letras7, y = Media7 + SE7 + 0.5), vjust = 0) +
  labs(title = "Peso de 100 granos",x = "Tratamientos", y = "peso (gr)") +
  theme_minimal() +
  scale_fill_manual(values = colores)+
  theme(
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12)
  )

# eficiencia agronomica

datos = read_excel("//cloud//project//pesogranopla.xlsx", sheet = 6)
print(datos)
## # A tibble: 3 × 2
##   tratamiento efiagro
##   <chr>         <dbl>
## 1 65mg/1LH2O     69.8
## 2 130mg/1LH2O    87.1
## 3 260mg/1LH2O    84.6
str(datos)
## tibble [3 × 2] (S3: tbl_df/tbl/data.frame)
##  $ tratamiento: chr [1:3] "65mg/1LH2O" "130mg/1LH2O" "260mg/1LH2O"
##  $ efiagro    : num [1:3] 69.8 87.1 84.6
summary(datos)
##  tratamiento           efiagro     
##  Length:3           Min.   :69.83  
##  Class :character   1st Qu.:77.20  
##  Mode  :character   Median :84.58  
##                     Mean   :80.49  
##                     3rd Qu.:85.82  
##                     Max.   :87.06
datos$tratamiento <- factor(datos$tratamiento, levels = c("65mg/1LH2O", "130mg/1LH2O", "260mg/1LH2O"))
print(datos)
## # A tibble: 3 × 2
##   tratamiento efiagro
##   <fct>         <dbl>
## 1 65mg/1LH2O     69.8
## 2 130mg/1LH2O    87.1
## 3 260mg/1LH2O    84.6
# Crear el gráfico de barras con colores personalizados
ggplot(datos, aes(x = tratamiento, y = efiagro, fill = tratamiento)) +
  geom_bar(stat = "identity") +
  scale_fill_manual(values = c("65mg/1LH2O" = "#97FFFF", "130mg/1LH2O" = "#90EE90", "260mg/1LH2O" = "#9F79EE")) +
  theme_minimal() +
  labs(title = "Eficiencia agronomica",
       x = "Tratamiento",
       y = "% de eficiencia") +
  theme(
    plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
    axis.title.x = element_text(size = 12),
    axis.title.y = element_text(size = 12)
  )