genera_espectros: Genera espectros

Usage Arguments Examples

View source: R/my_functions.R

Usage

1

Arguments

df

Examples

 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
##---- Should be DIRECTLY executable !! ----
##-- ==>  Define data, use random,
##--	or do  help(data=index)  for the standard data sets.

## The function is currently defined as
function (df) 
{
    peso_maximo <- ceiling(df$gvw %>% max(na.rm = FALSE))
    print(getwd())
    print(peso_maximo)
    limite_inferior <- seq(0, peso_maximo - 1)
    limite_superior <- seq(1, peso_maximo)
    marca_de_clase <- (limite_inferior + limite_superior)/2
    eje_sencillo <- numeric()
    total_eje_sencillo <- df$eje_sencillo %>% sum()
    sencillo_porc <- double()
    eje_doble <- numeric()
    total_eje_doble <- df$eje_doble %>% sum()
    doble_porc <- double()
    eje_tandem <- numeric()
    total_eje_tandem <- df$eje_tandem %>% sum()
    tandem_porc <- double()
    eje_tridem <- numeric()
    total_eje_tridem <- df$eje_tridem %>% sum()
    tridem_porc <- double()
    for (i in 1:length((limite_inferior) - 1)) {
        condicion_peso_sencillo <- df$gvw_ton_sencillo > limite_inferior[i] & 
            df$gvw_ton_sencillo <= limite_superior[i]
        eje_sencillo[i] <- df[condicion_peso_sencillo, ]$eje_sencillo %>% 
            sum()
        sencillo_porc[i] <- (eje_sencillo[i]/total_eje_sencillo) * 
            100
        condicion_peso_doble <- df$gvw_ton_doble > limite_inferior[i] & 
            df$gvw_ton_doble <= limite_superior[i]
        eje_doble[i] <- df[condicion_peso_doble, ]$eje_doble %>% 
            sum()
        doble_porc[i] <- (eje_doble[i]/total_eje_doble) * 100
        condicion_peso_tandem <- df$gvw_ton_tandem > limite_inferior[i] & 
            df$gvw_ton_tandem <= limite_superior[i]
        eje_tandem[i] <- df[condicion_peso_tandem, ]$eje_tandem %>% 
            sum()
        tandem_porc[i] <- (eje_tandem[i]/total_eje_tandem) * 
            100
        condicion_peso_tridem <- df$gvw_ton_tridem > limite_inferior[i] & 
            df$gvw_ton_tridem <= limite_superior[i]
        eje_tridem[i] <- df[condicion_peso_tridem, ]$eje_tridem %>% 
            sum()
        tridem_porc[i] <- (eje_tridem[i]/total_eje_tridem) * 
            100
    }
    df_tipo_eje <- data.frame(Limite_Inferior_Ton = limite_inferior, 
        Marca_de_Clase_Ton = marca_de_clase, Limite_Superior_Ton = limite_superior, 
        Sencillo = eje_sencillo, sencillo_porcentaje = round(sencillo_porc, 
            3), doble = eje_doble, doble_porcentaje = round(doble_porc, 
            3), tandem = eje_tandem, tandem_porcentaje = round(tandem_porc, 
            3), tridem = eje_tridem, tridem_porcentaje = round(tridem_porc, 
            3))
    head(df_tipo_eje)
    df_sencillo <- df_tipo_eje[c("Limite_Inferior_Ton", "Marca_de_Clase_Ton", 
        "Limite_Superior_Ton", "Sencillo", "sencillo_porcentaje")]
    df_sencillo <- df_sencillo[df_sencillo$Sencillo != 0, ]
    df_doble <- df_tipo_eje[c("Limite_Inferior_Ton", "Marca_de_Clase_Ton", 
        "Limite_Superior_Ton", "doble", "doble_porcentaje")]
    df_doble <- df_doble[df_doble$doble != 0, ]
    df_tandem <- df_tipo_eje[c("Limite_Inferior_Ton", "Marca_de_Clase_Ton", 
        "Limite_Superior_Ton", "tandem", "tandem_porcentaje")]
    df_tandem <- df_tandem[df_tandem$tandem != 0, ]
    df_tridem <- df_tipo_eje[c("Limite_Inferior_Ton", "Marca_de_Clase_Ton", 
        "Limite_Superior_Ton", "tridem", "tridem_porcentaje")]
    df_tridem <- df_tridem[df_tridem$tridem != 0, ]
    list_of_data_frame <- list(df_sencillo = df_sencillo, df_tandem = df_tandem, 
        df_tridem = df_tridem, df_doble = df_doble)
    return(list_of_data_frame)
  }

lilianlopez/pavement_management documentation built on Jan. 20, 2022, 12:07 a.m.