-
Notifications
You must be signed in to change notification settings - Fork 0
/
Script_cap5.R
83 lines (55 loc) · 2.1 KB
/
Script_cap5.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
library(stringr)
library(rlist)
library(here)
library(purrr)
funcion_anemo <- function(Tabla_sf){
library(lubridate)
Tabla <- Tabla_sf
#Cambiamos el formato de las columnas numericas
Tabla$Mean <- as.numeric(as.character(Tabla$Mean))
Tabla$Max <- as.numeric(as.character(Tabla$Max))
Tabla$Dir_deg <- as.numeric(as.character(Tabla$Dir_deg))
#cambiamos el formato de la fecha
Tabla$date_string_hour <- dmy_hms(as.character(Tabla$date_string_hour))
return(as.data.frame(Tabla))
}
funcion_pluv <- function(Tabla_sf){
library(lubridate)
Tabla <- Tabla_sf
#Cambiamos el formato de las columnas numericas
Tabla$`rain (mm)` <- as.numeric(as.character(Tabla$`rain (mm)`))
#cambiamos el formato de la fecha
Tabla$date_string_hour <- dmy_hms(as.character(Tabla$date_string_hour))
return(as.data.frame(Tabla))
}
funcion_term_hig <- function(Tabla_sf){
library(lubridate)
Tabla <- Tabla_sf
#Cambiamos el formato de las columnas numericas
Tabla[,3]<- as.numeric(as.character(Tabla[,3]))
Tabla[,4] <- as.numeric(as.character(Tabla[,4]))
#cambiamos el formato de la fecha
Tabla$date_string_hour <- dmy_hms(as.character(Tabla$date_string_hour))
return(as.data.frame(Tabla))
}
funcion_anemo <- possibly(funcion_anemo,otherwise = NA)
funcion_pluv <- possibly(funcion_pluv,otherwise = NA)
funcion_term_hig <- possibly(funcion_term_hig,otherwise = NA)
Formatos_columna <- function(lista_datos){
numero_sensores <- length(lista_datos)
lista_actualizada <- list()
for (i in 1:numero_sensores) {
#obtenemos la primera letra
letra_nombre <- str_sub(names(lista_datos[i]),1,1)
#usamos el ya visto ifelse
ifelse(
letra_nombre=="a",tabla_actualizada<- funcion_anemo(lista_datos[[i]][,]),
ifelse(
letra_nombre=="p",tabla_actualizada<-funcion_pluv(lista_datos[[i]]),
ifelse(
letra_nombre=="t",tabla_actualizada<-funcion_term_hig(lista_datos[[i]]),-31)))
#Guardamos en nueva lista
lista_actualizada[[names(lista_datos[i])]] <- tabla_actualizada
}
return(lista_actualizada)
}