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