Importar

Escudero <- read_table("~/Desktop/Data_Escudero.txt")
## Warning: Missing column names filled in: 'X8' [8]
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   Tiempo = col_character(),
##   Temp = col_double(),
##   Depth = col_double(),
##   Salinity = col_double(),
##   Conduct = col_double(),
##   Sound = col_double(),
##   Velocity = col_logical(),
##   X8 = col_character()
## )
## Warning: 72743 parsing failures.
## row col  expected    actual                          file
##   1  -- 8 columns 7 columns '~/Desktop/Data_Escudero.txt'
##   2  -- 8 columns 7 columns '~/Desktop/Data_Escudero.txt'
##   3  -- 8 columns 7 columns '~/Desktop/Data_Escudero.txt'
##   4  -- 8 columns 7 columns '~/Desktop/Data_Escudero.txt'
##   5  -- 8 columns 7 columns '~/Desktop/Data_Escudero.txt'
## ... ... ......... ......... .............................
## See problems(...) for more details.
head(Escudero)
## # A tibble: 6 × 8
##   Tiempo      Temp Depth Salinity Conduct Sound Velocity X8   
##   <chr>      <dbl> <dbl>    <dbl>   <dbl> <dbl> <lgl>    <chr>
## 1 12-02-2019  1.5   9.63     34.6    30.0 1455. NA       <NA> 
## 2 12-02-2019  1.46  9.69     34.6    30.0 1455. NA       <NA> 
## 3 12-02-2019  1.46  9.62     34.6    30.0 1455. NA       <NA> 
## 4 12-02-2019  1.5   9.56     34.6    30.0 1455. NA       <NA> 
## 5 12-02-2019  1.46  9.42     34.6    30.0 1455. NA       <NA> 
## 6 12-02-2019  1.42  9.27     34.6    30.0 1455. NA       <NA>
#View(Escudero)

fechas <- as.Date(Escudero$Tiempo, format = "%d-%m-%Y")
dias <- format(fechas, "%d")

promedios_diarios <- aggregate(Temp ~ fechas, data = Escudero, mean)

Un Plot simple del comportamiento de la variable Temp.

hist(promedios_diarios$Temp, 
     breaks = 50,
     col = "red",
     xlab="Temperatura media diaria (Cº)")

Ahora separo los dias, meses y años

resultados <- promedios_diarios %>%
  group_by(Anio = format(fechas, "%Y"), 
           Mes = format(fechas, "%m"),
           dias= format(fechas, "%d")) %>%
  summarize(Promedio = mean(Temp))
## `summarise()` has grouped output by 'Anio', 'Mes'. You can override using the
## `.groups` argument.
head(resultados)
## # A tibble: 6 × 4
## # Groups:   Anio, Mes [1]
##   Anio  Mes   dias  Promedio
##   <chr> <chr> <chr>    <dbl>
## 1 2019  02    12        1.41
## 2 2019  02    13        1.44
## 3 2019  02    14        1.43
## 4 2019  02    15        1.50
## 5 2019  02    16        1.48
## 6 2019  02    17        1.46
tail(resultados)
## # A tibble: 6 × 4
## # Groups:   Anio, Mes [1]
##   Anio  Mes   dias  Promedio
##   <chr> <chr> <chr>    <dbl>
## 1 2021  12    04       0.438
## 2 2021  12    05       0.522
## 3 2021  12    06       0.605
## 4 2021  12    07       0.756
## 5 2021  12    08       0.598
## 6 2021  12    09       0.559

Plot de temp por dias y años

diastemp <- ggplot(resultados)+
  geom_boxplot(aes(dias, Promedio))+
  #stat_smooth(method = "loess", col="#80ed99")+
  facet_wrap(~Anio, ncol=1)+
  theme_minimal()+
  theme(panel.grid.major = element_blank())+
  xlab("")+
  ylab("Temperatura Promedio por dia y por año ")
diastemp

Por mes y año

mestemp <- ggplot(resultados)+
  geom_boxplot(aes(Mes, Promedio))+
  #stat_smooth(method = "loess", col="#80ed99")+
  facet_wrap(~Anio, ncol=1)+
   theme_minimal()+
  theme(panel.grid.major = element_blank())+
  xlab("")+
  ylab("Temperatura Promedio por mes y por año ")
mestemp

diastemp2 <- ggplot(resultados,
                    aes(as.integer(dias), Promedio, colour=Mes))+
  geom_point()+
  geom_smooth()+
  facet_wrap(~Anio, ncol=3)+
  scale_colour_viridis_d(name="Mes")+
  #scale_x_discrete(breaks = seq(from = 1, to = 31, by = 2))+
  theme_bw()+
  theme(panel.grid.major = element_blank())+
  xlab("")+
  ylab("Temperatura Promedio por dia y por mes ")
diastemp2
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

diastemp3 <- ggplot(resultados,
                    aes(as.integer(dias), Promedio, colour=Anio))+
  geom_point()+
  geom_smooth()+
  facet_wrap(~Mes, ncol=12)+
  scale_colour_viridis_d(name="Año",
                         option="G")+
  #scale_x_discrete(breaks = seq(from = 1, to = 31, by = 2))+
  theme_bw()+
  theme(panel.grid.major = element_blank())+
  xlab("Dias")+
  ylab("Temperatura Promedio por mes y Año")
diastemp3
## `geom_smooth()` using method = 'loess' and formula = 'y ~ x'

Dos formas de guardar la data

write.csv(resultados, "promedios_diarios_separados.csv")
write.csv(promedios_diarios, "promedios_diarios.csv")