Cargando paquete requerido: ggpp
Registered S3 methods overwritten by 'ggpp':
method from
heightDetails.titleGrob ggplot2
widthDetails.titleGrob ggplot2
Adjuntando el paquete: 'ggpp'
The following object is masked from 'package:ggplot2':
annotate
Adjuntando el paquete: 'ggpubr'
The following objects are masked from 'package:ggpp':
as_npc, as_npcx, as_npcy
The following object is masked from 'package:egg':
ggarrange
<ggproto object: Class FacetWrap, Facet, gg>
compute_layout: function
draw_back: function
draw_front: function
draw_labels: function
draw_panels: function
finish_data: function
init_scales: function
map_data: function
params: list
setup_data: function
setup_params: function
shrink: TRUE
train_scales: function
vars: function
super: <ggproto object: Class FacetWrap, Facet, gg>
w=ggplot(dat_clean, aes(y = Value, x=as.numeric(Frequency),color=Segmentacion) )+#geom_line(alpha=0.1, aes(color=group),lwd=1, show.legend = T)+geom_smooth(size=2.25,method ="lm", show.legend = T,se = T)+scale_y_continuous(limits =c(-65,-45))+scale_color_viridis_d()+#stat_regline_equation()+theme_presentation(base_size =14) +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(option = "C")+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=Segmentacion) )+#geom_line(alpha=0.1, aes(color=group),lwd=1, show.legend = T)+geom_smooth(size=2.25,method ="gam", show.legend = F,se=T)+scale_color_viridis_d()+#stat_regline_equation()+theme_presentation(base_size =14) +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(option = "C")+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 =19) # Tamaño del título de la leyenda)# Imprimir la figura combinadaprint(combined_plot)
`summarise()` has grouped output by 'Segmentacion'. You can override using the
`.groups` argument.
ggplot(dat_mean) +aes(x =as.numeric(Frequency), y =10*log10(track_value), color = Segmentacion) +geom_line()
bloqueos <-data.frame(xmin =c(40,85, 155,250),xmax =c(55,100, 171,270))ggplot(dat_mean) +geom_line(size=2,aes(x =as.numeric(Frequency), y =10*log10(track_value), color = Segmentacion) ) +geom_rect(data = bloqueos, aes(xmin = xmin, xmax = xmax, ymin =-Inf, ymax =Inf), fill ="gray", alpha =0.75) +# Ajusta color y transparencia según necesiteslabs(x ="Frecuencia", y ="10*log10(Value)") +scale_color_viridis_d()
names(dat_mean)
[1] "Segmentacion" "Frequency" "track_value"
1 ¿Cómo cuantificar las diferencias entre espectros?
Cuando observamos la figura anterior, que muestra los espectros promedio en los puntos medios temporales de dos categorías fricativas, parece que una manera fácil de distinguir entre las dos sería concentrarse en las diferencias en las amplitudes en el rango de 2000 a 3000 Hz. Podríamos, por ejemplo, tomar la media en ese rango de frecuencia en todos los tokens de los dos tipos para comprobar si es consistente el caso de que el alveolar contiene mucha menos energía en ese rango de frecuencia que su contraparte postalveolar:
Una transformada discreta de coseno (DCT) expresa una secuencia finita de n puntos de datos en términos de una suma de funciones de coseno que oscilan a diferentes frecuencias.
Las amplitudes de las funciones del coseno, k0, k1, k2, … kn-1, se denominan coeficientes DCT.
k0: la amplitud de un coseno con una frecuencia de 0
k1: la amplitud de un coseno con una frecuencia de 0,5
k2: la amplitud de un coseno con una frecuencia de 1
…
kn-1: la amplitud de un coseno con una frecuencia de 0,5*(n-1)
Si suma todos estos coeficientes DCT, reconstruirá exactamente la misma señal que se ingresó para el análisis DCT.
Los coeficientes DCT más altos corresponden a los detalles de la “secuencia finita de n puntos de datos”, mientras que los coeficientes más bajos representan las características más generales. Al menos las tres más bajas, k0, k1 y k2, corresponden (pero no son iguales) a las siguientes tres características descriptivas estadísticas: k0 está relacionada linealmente con la media de la secuencia, k1 con la pendiente de la secuencia y k2 con su curvatura. Véase, por ejemplo:
dat_mean2= dat_mean %>%group_by(Segmentacion)%>%mutate(reconstructed = emuR::dct(track_value,fit=T))ggplot(dat_mean2) +geom_line(size=2,aes(x =as.numeric(Frequency), y =10*log10(reconstructed ), color = Segmentacion) ) +geom_rect(data = bloqueos, aes(xmin = xmin, xmax = xmax, ymin =-Inf, ymax =Inf), fill ="gray", alpha =0.75) +# Ajusta color y transparencia según necesiteslabs(x ="Frecuencia", y ="10*log10(Value)") +scale_color_viridis_d()
sS_dftlong.mean = dat_mean %>%group_by(Segmentacion,) %>%mutate(#you can't use m=0 in order to calculate k0 onlysmoothed_k0tok1 = emuR::dct(track_value,m=1,fit=T),smoothed_k0tok2 = emuR::dct(track_value,m=2,fit=T),smoothed_k0tok3 = emuR::dct(track_value,m=3,fit=T),smoothed_k0tok4 = emuR::dct(track_value,m=4,fit=T),smoothed_k0tok5 = emuR::dct(track_value,m=5,fit=T),smoothed_k0tok6 = emuR::dct(track_value,m=6,fit=T))
ggplot(sS_dftlong.mean) +geom_line(size=2,aes(x =as.numeric(Frequency), y =10*log10(smoothed_k0tok1), color = Segmentacion) ) +geom_rect(data = bloqueos, aes(xmin = xmin, xmax = xmax, ymin =-Inf, ymax =Inf), fill ="gray", alpha =0.75) +# Ajusta color y transparencia según necesiteslabs(x ="Frecuencia", y ="10*log10(Value)") +scale_color_viridis_d()
#############ggplot(sS_dftlong.mean) +geom_line(size=2,aes(x =as.numeric(Frequency), y =10*log10(smoothed_k0tok2), color = Segmentacion) ) +geom_rect(data = bloqueos, aes(xmin = xmin, xmax = xmax, ymin =-Inf, ymax =Inf), fill ="gray", alpha =0.75) +# Ajusta color y transparencia según necesiteslabs(x ="Frecuencia", y ="10*log10(Value)") +scale_color_viridis_d()
#############ggplot(sS_dftlong.mean) +geom_line(size=2,aes(x =as.numeric(Frequency), y =10*log10(smoothed_k0tok3), color = Segmentacion) ) +geom_rect(data = bloqueos, aes(xmin = xmin, xmax = xmax, ymin =-Inf, ymax =Inf), fill ="gray", alpha =0.75) +# Ajusta color y transparencia según necesiteslabs(x ="Frecuencia", y ="10*log10(Value)") +scale_color_viridis_d()
#############ggplot(sS_dftlong.mean) +geom_line(size=2,aes(x =as.numeric(Frequency), y =10*log10(smoothed_k0tok4), color = Segmentacion) ) +geom_rect(data = bloqueos, aes(xmin = xmin, xmax = xmax, ymin =-Inf, ymax =Inf), fill ="gray", alpha =0.75) +# Ajusta color y transparencia según necesiteslabs(x ="Frecuencia", y ="10*log10(Value)") +scale_color_viridis_d()
Warning in FUN(X[[i]], ...): Se han producido NaNs
#############ggplot(sS_dftlong.mean) +geom_line(size=2,aes(x =as.numeric(Frequency), y =10*log10(smoothed_k0tok5), color = Segmentacion) ) +geom_rect(data = bloqueos, aes(xmin = xmin, xmax = xmax, ymin =-Inf, ymax =Inf), fill ="gray", alpha =0.75) +# Ajusta color y transparencia según necesiteslabs(x ="Frecuencia", y ="10*log10(Value)") +scale_color_viridis_d()
#############ggplot(sS_dftlong.mean) +geom_line(size=2,aes(x =as.numeric(Frequency), y =10*log10(smoothed_k0tok6), color = Segmentacion) ) +geom_rect(data = bloqueos, aes(xmin = xmin, xmax = xmax, ymin =-Inf, ymax =Inf), fill ="gray", alpha =0.75) +# Ajusta color y transparencia según necesiteslabs(x ="Frecuencia", y ="10*log10(Value)") +scale_color_viridis_d()
Recuerde que la última figura muestra solo dos funciones de coseno (invertidas) de una cierta amplitud con frecuencia 0.5. Obviamente, esta no es la mejor representación de los espectros de /s/ y /ʃ/. Tenemos que encontrar un compromiso entre demasiada y muy poca información. En este caso específico, (= 5 coeficientes DCT) parece ser el mejor compromiso.m = 4
Podemos, por supuesto, aplicar la función -también a los datos no promediados:dct
texts2 <-data.frame(Segmentacion =c('Anchoveta', 'Múnida', 'Plancton', 'Salpas', 'Vinciguerria'),x =rep(100, 5), # Coordenada x del texto en cada facety =rep(-30, 5), # Coordenada y del texto en cada facetlabel =c("K0: -46.75","K0: -56.70","K0: -61.16","K0: -64.20","K0: -56.59" ))texts3 <-data.frame(Segmentacion =c('Anchoveta', 'Múnida', 'Plancton', 'Salpas', 'Vinciguerria'),x =rep(100, 5), # Coordenada x del texto en cada facety =rep(-30, 5), # Coordenada y del texto en cada facetlabel =c("K1:+","K1:+","K1:-","K1:-","K1:+" ))segmentacion=ggplot(dat_clean, aes(y = Value, x=as.numeric(Frequency)))+geom_line(alpha=0.5, aes(color=Segmentacion),lwd=1.5, show.legend = F)+geom_line(data=sS_dftlong.mean,aes(x =as.numeric(Frequency), y =10*log10(smoothed_k0tok3), color ="black"),lwd =1.25, color="black") +#geom_smooth(size=1,method = "lm", color="black", show.legend = F)+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(-80,-70,-60,-50,-40,-30,-20),linetype =c("dashed"),color="gray")+scale_color_viridis_d()+#stat_regline_equation(size=10)+theme_presentation() +#ggtitle("Smoothed with 4 DCT-coefficients (m=3)")+theme(legend.position ="none")+facet_wrap(~Segmentacion, ncol=2,scales ="free_y")+geom_text(data = texts2, aes(x =78, y =-25, label = label), size =7.5, color ="black")+geom_text(data = texts3, aes(x =55, y =-35, label = label), size =7.5, color ="black")segmentacion
ggsave(filename ="9.Smoothed_4DCT.png",plot = segmentacion, height =10, # Specifies the height of the plot in incheswidth =10, # Specifies the width of the plot in inchesdpi =1000, # Specifies the resolution in dots per inchpath ="F:/Tesis abordo/Tesis abordo/Figuras/Objetivo01/",device ="png")
library(ggplot2)# Graficar figura de barrasggplot(tabla, aes(x = Segmentacion, y = k0db, fill = Segmentacion)) +geom_bar(stat ="identity", position ="dodge", width =0.7) +labs(x ="Segmentacion", y ="k0 en dB") +theme_minimal()
ggplot(tabla, aes(x = Segmentacion, y = k1db, fill = Segmentacion)) +geom_bar(stat ="identity", position ="dodge", width =0.7) +labs(x ="Segmentacion", y ="k1 en dB") +theme_minimal()
ggplot(tabla, aes(x = Segmentacion, y = k0, fill = Segmentacion)) +geom_bar(stat ="identity", position ="dodge", width =0.7) +labs(x ="Segmentacion", y ="k0 en dB") +theme_minimal()
ggplot(tabla, aes(x = Segmentacion, y = k1, fill = Segmentacion)) +geom_bar(stat ="identity", position ="dodge", width =0.7) +labs(x ="Segmentacion", y ="k1 en dB") +theme_minimal()