Loading required package: ggpp
Registered S3 methods overwritten by 'ggpp':
method from
heightDetails.titleGrob ggplot2
widthDetails.titleGrob ggplot2
Attaching package: 'ggpp'
The following object is masked from 'package:ggplot2':
annotate
Registered S3 method overwritten by 'ggpmisc':
method from
as.character.polynomial polynom
Attaching package: 'ggpubr'
The following objects are masked from 'package:ggpp':
as_npc, as_npcx, as_npcy
The following object is masked from 'package:egg':
ggarrange
#library(explore)#explore(dat_clean)descriptiva_clean=dat_clean %>%group_by(Class) %>%get_summary_stats(type ="common") %>% dplyr::filter(variable=="Value")dclass1=descriptiva_clean%>%select(-variable,-iqr,-mean,-sd,-se,-ci)library(dplyr)library(magrittr) # Para el operador %>%
Attaching package: 'magrittr'
The following object is masked from 'package:purrr':
set_names
The following object is masked from 'package:tidyr':
extract
library(seewave)
Attaching package: 'seewave'
The following object is masked from 'package:lubridate':
duration
The following object is masked from 'package:readr':
spec
# Calcular la media en dB por grupodescriptiva_clean2 <- dat_clean %>%group_by(Class) %>%mutate(mean_dB =meandB(Value), sd_dB=sddB(Value, level="SPL"),sd_lineal=sd(Value_linear)) # Calcular la media en dB usando seewave::meandB()summary_table <- descriptiva_clean2 %>%group_by(Class) %>%summarise(mean_dB =mean(mean_dB),mean_sd_dB =mean(sd_dB),mean_sd_lineal =mean(sd_lineal)) # Calcular el promedio de mean_dB por grupo# Mostrar la tabla resumend2=summary_table %>%select(mean_dB, mean_sd_dB)Tabla_D=cbind(dclass1,d2)%>%rename(Especie="Class",Mínimo="min",Máximo="max",Mediana="median",Media="mean_dB", sd="mean_sd_dB")%>%mutate_if(is.numeric, ~round(., 2))Tabla_D
library(dplyr)library(magrittr) # Para el operador %>%library(seewave)# Calcular la media en dB por grupodescriptiva_clean4 <- dat_clean %>%group_by(Class, Banda) %>%mutate(mean_dB =meandB(Value), sd_dB=sddB(Value, level="SPL"),sd_lineal=sd(Value_linear)) # Calcular la media en dB usando summary_table4 <- descriptiva_clean4 %>%group_by(Class, Banda) %>%summarise(mean_dB =mean(mean_dB),mean_sd_dB =mean(sd_dB),mean_sd_lineal =mean(sd_lineal)) # Calcular el promedio de mean_dB por grupo
`summarise()` has grouped output by 'Class'. You can override using the
`.groups` argument.
# Mostrar la tabla resumend4=summary_table4 %>%select(mean_dB, mean_sd_dB)
w=ggplot(dat_clean, aes(y = Value, x=as.numeric(Frequency),color=Class) )+#geom_line(alpha=0.1, aes(color=group),lwd=1, show.legend = T)+geom_smooth(size=1.5,method ="lm", show.legend = T)+scale_y_continuous(limits =c(-65,-45))+#stat_regline_equation()+theme_presentation() +xlab("Frecuencia (kHz)") +ylab("Sv (dB)")+scale_x_continuous(breaks =c(38,70,90,120,170,200,260))+geom_vline(xintercept =c(38,45,90,170,260),linetype =c("dashed"),color="gray")+geom_hline(yintercept =c(-70,-60,-50,-40),linetype =c("dashed"),color="gray")+scale_color_viridis_d()+theme(legend.title=element_blank())+theme(panel.grid.major.y =element_line(color ="gray", linetype ="dashed"))+theme(panel.grid.major.x =element_line(color ="gray", linetype ="dashed"))k=ggplot(dat_clean, aes(y = Value, x=as.numeric(Frequency),color=Class) )+#geom_line(alpha=0.1, aes(color=group),lwd=1, show.legend = T)+geom_smooth(size=1.5,method ="gam", show.legend = F)+#stat_regline_equation()+theme_presentation() +xlab("Frecuencia (kHz)") +ylab("Sv (dB)")+scale_y_continuous(limits =c(-65,-45))+scale_x_continuous(breaks =c(38,70,90,120,170,200,260))+geom_vline(xintercept =c(38,45,90,170,260),linetype =c("dashed"),color="gray")+geom_hline(yintercept =c(-70,-60,-50,-40),linetype =c("dashed"),color="gray")+scale_color_viridis_d()+theme(legend.title=element_blank())+theme(panel.grid.major.y =element_line(color ="gray", linetype ="dashed"))+theme(panel.grid.major.x =element_line(color ="gray", linetype ="dashed"))library(cowplot)# Crear las gráficas w y k (código que proporcionaste)# Obtener la leyenda de una de las gráficas (por ejemplo, w)legend_w <-get_legend(w)# Combinar las dos gráficas y agregar la leyendacombined_plot <-plot_grid( k +theme(legend.position ="none"), # Ocultar la leyenda de la gráfica w w +theme(legend.position ="none"), # Ocultar la leyenda de la gráfica k legend_w,ncol =3, rel_heights =c(1, 1, 1),rel_widths =c(1,1,0.35), # Ajustar las alturas relativaslabels =c("(a)", "(b)", ""), # Etiquetas de enumeraciónalign ="h"# Alinear horizontalmente las partes)# Ajustar el tamaño de la leyendacombined_plot <- combined_plot +theme(legend.text =element_text(size =19), # Tamaño del texto de la leyendalegend.title =element_text(size =14) # Tamaño del título de la leyenda)# Imprimir la figura combinadaprint(combined_plot)
#library(coin)#oneway_test(Value ~ Class, data = dat_clean)
# Realizar la prueba K-S para todas las combinaciones de grupos# Asegúrate de que dat_clean esté definido correctamente# dat_clean <- ...# Asegúrate de que dat_clean esté definido correctamente# dat_clean <- ...# Crear un data frame para almacenar los resultadosresults <-data.frame(group1 =character(),group2 =character(),D_value =numeric(),p_value =numeric(),stringsAsFactors =FALSE)# Obtener grupos únicosgroups <-unique(dat_clean$Class)# Realizar la prueba K-S para todas las combinaciones de gruposfor (i in1:(length(groups) -1)) {for (j in (i +1):length(groups)) { group1 <- groups[i] group2 <- groups[j]# Subconjuntos de datos para los dos grupos data_group1 <- dat_clean$Value[dat_clean$Class == group1] data_group2 <- dat_clean$Value[dat_clean$Class == group2]# Realizar la prueba K-S test_result <-ks.test(data_group1, data_group2)# Almacenar resultados en el data frame results results <-rbind(results, data.frame(group1 = group1,group2 = group2,D_value =round(test_result$statistic, 2),p_value =round(test_result$p.value, 2) )) }}# Mostrar el resultado final con las modificaciones requeridasprint(results)
library(ggplot2)library(dplyr)# Realizar la prueba de Kruskal-Walliskw_test <-kruskal.test(Value_linear ~ Class, data = dat_clean)# Realizar las pruebas de Wilcoxon pairwise con corrección de Bonferronipw_test <-pairwise.wilcox.test(dat_clean$Value_linear, dat_clean$Class,p.adjust.method ="bonferroni")kw_test
Kruskal-Wallis rank sum test
data: Value_linear by Class
Kruskal-Wallis chi-squared = 139112, df = 4, p-value < 2.2e-16
pw_test
Pairwise comparisons using Wilcoxon rank sum test with continuity correction
data: dat_clean$Value_linear and dat_clean$Class
Anchoveta Múnida Plancton Salpas
Múnida < 2e-16 - - -
Plancton < 2e-16 < 2e-16 - -
Salpas < 2e-16 < 2e-16 1 -
Vinciguerria < 2e-16 < 2e-16 < 2e-16 4.6e-05
P value adjustment method: bonferroni