scriptR

Podemos poner todo en un solo script para correr todo con un solo comando en RStudio.

Para no tener problemas, después de importar los datos al proyecto RStudio, creemos el dataframe, asumiendo que los datos importados se llaman dataR, en caso contrario cambiemos ese nombre. Lo importante es que el dataframe se llame df

> df <- dataR

copiar todo lo siguiente y pegarlo en un archivo sencillo (notepad, textmate, etc.) pero NO en Word o similar procesador de textos. Salvarlo como dataR.R o cualquier nombre pero con terminación .R. Este script se puede abrir en RStudio (File -> Open File) y ejecutarlo presionando el icono Source

# Cargado de librerias que se van a usar

library(dplyr)

library(ggplot2)

library(tidyverse)

library(ggpubr)

library(rstatix)

#Obtencion de objetos 

dfmg <- df %>% group_by(Tratamiento, Dia) %>% summarise(Peso)

dfmm <- df %>% group_by(Tratamiento, Dia) %>% summarise(Talla)

# Hagamos un resumen de los objetos creados:

xmg <- summarise(dfmg, mean_peso = mean(Peso))

xmm <- summarise(dfmm, mean_talla = mean(Talla))

#Boxplots

mg.bxplot <- ggplot(dfmg, aes(x = Tratamiento, y = Peso)) + geom_boxplot(aes(color = Tratamiento)) + facet_grid(~Dia) + stat_summary(fun = mean, geom = "point", shape = 18, size=3, color = "black")

mm.bxplot <- ggplot(dfmm, aes(x = Tratamiento, y = Talla)) + geom_boxplot(aes(color = Tratamiento)) + facet_grid(~Dia) + stat_summary(fun = mean, geom = "point", shape = 18, size=3, color = "black")


#Graficas de linea

mg.line <- ggplot(xmg, aes(x=Dia, y=mean_peso)) + geom_smooth(aes(color=Tratamiento), se = FALSE) + geom_point(aes(color=Tratamiento))

mm.line <- ggplot(xmm, aes(x=Dia, y=mean_talla)) + geom_smooth(aes(color=Tratamiento), se = FALSE) + geom_point(aes(color=Tratamiento))


#Obtención del ultimo dia de tratamiento

LastDay <- tail(dataR$Dia, 1)

Data.Ultimo.Dia <- subset(x = df, Dia == LastDay)


#Diferencias entre las unidades experimentales al ultimo dia

mg.dif.kruskal.ExpUnits <- Data.Ultimo.Dia %>% group_by(Tratamiento) %>% kruskal_test(Peso ~ UExp) %>% adjust_pvalue(method = "bonferroni") %>% add_significance("p.adj") #para pesos

mm.dif.kruskal.ExpUnits <- Data.Ultimo.Dia %>% group_by(Tratamiento) %>% kruskal_test(Talla ~ UExp) %>% adjust_pvalue(method = "bonferroni") %>% add_significance("p.adj") #para tallas


#Diferencias entre pesos en los tratamientos del ultimo dia

mg.res.kruskal <- Data.Ultimo.Dia %>% kruskal_test(Peso ~ Tratamiento)

mg.Dunn <- Data.Ultimo.Dia %>% dunn_test(Peso ~ Tratamiento, p.adjust.method = "bonferroni")

mg.Dunn <- mg.Dunn %>% add_xy_position(x = "Tratamiento")

#Diferencias entre tallas en los tratamientos del ultimo dia

mm.res.kruskal <- Data.Ultimo.Dia %>% kruskal_test(Talla ~ Tratamiento)

mm.Dunn <- Data.Ultimo.Dia %>% dunn_test(Talla ~ Tratamiento, p.adjust.method = "bonferroni")

mm.Dunn <- mm.Dunn %>% add_xy_position(x = "Tratamiento")


#Graficas de dif entre tratamientos al ultimo dia

mg.bxplot.diff <- ggboxplot(Data.Ultimo.Dia, x = "Tratamiento", y = "Peso") + stat_pvalue_manual(mg.Dunn, hide.ns = TRUE) + labs(subtitle = get_test_label(mg.res.kruskal, detailed = TRUE),caption = get_pwc_label(mg.Dunn)) + theme_bw(base_size = 16) + labs(y= "Peso (mg)") + ggtitle ("Diferencias en peso al final del experimento")

mm.bxplot.diff <- ggboxplot(Data.Ultimo.Dia, x = "Tratamiento", y = "Talla") + stat_pvalue_manual(mm.Dunn, hide.ns = TRUE) + labs(subtitle = get_test_label(mm.res.kruskal, detailed = TRUE),caption = get_pwc_label(mm.Dunn)) + theme_bw(base_size = 16) + labs(y= "Talla (mm)") + ggtitle ("Diferencias en tallas al final del experimento")

# Mensaje final

message("\nGraficas disponibles:\n  mg.bxplot: boxplot de pesos por dia\n  mm.bxplot: boxplot de tallas por dia\n  mg.line: curva de promedio de pesos por dia\n  mm.line: curva de promedio de tallas por dia\n  mg.bxplot.diff: boxplot de pesos por tratamiento del ultimo dia\n  mm.bxplot.diff: boxplot de tallas por tratamiento del ultimo dia")

mg.bxplot