# ************************************************************************
# ******************** GENERACIÓN DE TABULADOS - TICS ********************
# ************************************************************************

# ********************************************************************** #
# Instituto Nacional de Estadística y Censos (INEC)                      #
# Fuente: Encuesta Estructural Empresarial 2024                          #
# Responsable: Unidad de Gestión de Estadísticas Estructurales (GESE)    #
# ********************************************************************** #
# Fecha de elaboración: 05/01/2024                                       #
# Fecha última modificación: 24/02/2026                                  #
# ********************************************************************** #
# Elaborado por:                                                         #
# Gestión de Estadísticas Estructurales - GESE                           #
# Instituto Nacional de Estadística y Censos                             #
# ********************************************************************** #
# Revisado por                                                           #
# Roberto Chaves                                                         #
# Jefe de Gestión de Estadísticas Estructurales                          #
# Instituto Nacional de Estadística y Censos                             #
# Roberto_Chaves@inec.gob.ec                                             #
# ********************************************************************** #
# Aprobado por:                                                          #
# Diana Barco                                                            #
# Directora de Estadísticas Económicas (DECON)                           #
# Instituto Nacional de Estadística y Censos                             #
# Diana_Barco@inec.gob.ec                                                #
##########################################################################

"Estimado Usuario. Por favor en el disco C: de su computadora, crear una 
carpeta llamada ´Tabulados_Estructural´, y coloque la base de datos (TIC) de la encuesta
y el documento denominado '2024_TABULADOS_DISEÑO'.
En esta carpeta se exportarán los resultados de los tabulados. "

#========================================================================#
# FUNCIONES                                                              #
#========================================================================#


##### CREACIÓN DE FUNCIONES #####
"Esta función sirve para mover cualquier columna al inicio"

final <- function(df, row) {
  
  stopifnot(nrow(df) >= row) 
  
  rbind(df[row, ], df[-row, ])
  
}

"Escritura en Excel"

escribir_tabulado <- function(wb, hoja, objeto, fila, col = 2) {
  writeData(
    wb, hoja, objeto,
    startRow = fila,
    startCol = col,
    colNames = FALSE
  )
}

"Función para calcular tabulados de múltiples variables"

tic_enesem <- function(data, columns,vertical,horizontal) {
  resultado <- data %>%
    group_by(as.factor(!!!syms(vertical)),!!!syms(horizontal)) %>%
    summarise(`Total empresas` = round_half_up(sum(f_exp),11),
              across(all_of(columns), ~sum(ifelse(. == 1, .*f_exp, 0), na.rm = TRUE))) %>% 
    ungroup() %>% 
    bind_rows(summarise(., across(where(is.numeric), sum)))
  
  return(resultado)
}

"Función para porcentajes"

division <- function(data, var_div,`Total empresas`) {
  resultado <- data %>%
    mutate(across(
      all_of(var_div),
      ~./`Total empresas`,
      .names = "{.col}_%"
    ))
  
  return(resultado)
}

"Carga de librerías"

enesem_lib <- function(libreria) {
  if (!requireNamespace(as.character(libreria), quietly = TRUE)) {
    install.packages(as.character(libreria))
  }
  library(libreria, character.only = TRUE)
}

#========================================================================#
# CARGAR LIBRERIAS                                                       #
#========================================================================#

enesem_lib("tidyverse")
enesem_lib("haven")
enesem_lib("openxlsx")
enesem_lib("janitor")
enesem_lib("purrr")
enesem_lib("lubridate")

##### RUTA DE TRABAJO #####

getwd()
setwd("C:/Tabulados_Estructural")
dir()

##### BASE DE DATOS #####

tic <- loadWorkbook("2024_TABULADOS_DISEÑO.xlsx")

dat <- read_sav("2024_ENESEM_BDD_TIC.sav")

##### DEFINIR LA COMA COMO SEPARADOR DE DECIMALES #####

options(OutDec=",")

##### CUADRO C1A #####

"NÚMERO DE EMPRESAS QUE INVIRTIERON EN TICS SEGÚN SECTOR ECONÓMICO 
                       (NÚMERO Y PORCENTAJE)"

C1A <- dat %>% 
  group_by(`Código sector ecónomico` = as.factor(cod_sector), 
           `Descripción sector económico` = des_sector) %>% 
  summarise(`Total empresas` = round_half_up(sum(f_exp),11),
            `Empresas con inversión en TIC` = sum((tic1_1==1)* f_exp, na.rm = T),
            `Valor invertido en TIC` = (sum(tic1_2* f_exp,na.rm = T))) %>% 
  ungroup() %>% 
  bind_rows(summarise(., across(where(is.numeric), sum))) %>% 
  mutate(`Descripción sector económico` = ifelse(
    is.na(`Descripción sector económico`),"Total Nacional",`Descripción sector económico`)) %>%
  mutate("%" = `Empresas con inversión en TIC`/`Total empresas`) %>% 
  select(1,2,3,4,6,5)

C1A <- final(C1A,nrow(C1A))

names(C1A) <- c("Código sector ecónomico","Descripción sector económico",
                "Número de empresas","Número de empresas",
                "Número de empresas","Valor invertido en TIC")

##### CUADRO C1B #####

"NÚMERO DE EMPRESAS QUE INVIRTIERON EN TICS SEGÚN TAMAÑO DE EMPRESA
(NÚMERO Y PORCENTAJE) "

C1B <- dat %>% 
  group_by(`Código tamaño` = as.factor(cod_tamano), 
           `Descripción tamaño` = des_tamano) %>% 
  summarise(`Total empresas` = round_half_up(sum(f_exp),11),
            `Empresas con inversión en TIC` = sum((tic1_1==1)* f_exp, na.rm = T),
            `Valor invertido en TIC` = (sum(tic1_2* f_exp,na.rm = T))) %>% 
  ungroup() %>% 
  bind_rows(summarise(., across(where(is.numeric), sum))) %>% 
  mutate(`Descripción tamaño` = ifelse(
    is.na(`Descripción tamaño`),"Total Nacional",`Descripción tamaño`)) %>%
  mutate("%" = `Empresas con inversión en TIC`/`Total empresas`) %>% 
  select(1,2,3,4,6,5)
C1B <- final(C1B,nrow(C1B))

names(C1B) <- c("Código tamaño","Descripción tamaño","Total empresas",
                "Empresas con inversión en TIC","%","Valor invertido en TIC") 

##### CUADRO C2A #####

"EMPRESAS CON CONEXIÓN A INTERNET Y TIPO DE CONEXIÓN SEGÚN SECTOR ECONÓMICO 
  (NÚMERO Y PORCENTAJE)"

variables <- c("tic2_1","tic2_2a","tic2_2b","tic2_2c")

C2A <- tic_enesem(dat, variables,vertical = "cod_sector",horizontal = "des_sector") %>% 
  mutate(des_sector = ifelse(is.na(des_sector),"Total Nacional",des_sector))
C2A <- division(C2A, variables,"Total empresas") %>% 
  select(1,2,3,4,8,5,9,6,10,7,11)
C2A <- final(C2A,nrow(C2A))

names(C2A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total empresas","Número de empresas","%",
                "Número de empresas","%",
                "Número de empresas","%",
                "Número de empresas","%") 

##### CUADRO C2B #####

"EMPRESAS CON CONEXIÓN A INTERNET Y TIPO DE CONEXIÓN SEGÚN TAMAÑO DE EMPRESA 
(NÚMERO Y PORCENTAJE)"

variables <- c("tic2_1","tic2_2a","tic2_2b","tic2_2c")

C2B <- tic_enesem(dat, variables,vertical = "cod_tamano",horizontal = "des_tamano") %>% 
  mutate(des_tamano = ifelse(is.na(des_tamano),"Total Nacional",des_tamano))
C2B <- division(C2B, variables,"Total empresas") %>% 
  select(1,2,3,4,8,5,9,6,10,7,11)
C2B <- final(C2B,nrow(C2B))

names(C2B) <- c("Código tamaño","Descripción tamaño",
                "Total empresas","Número de empresas","%",
                "Número de empresas","%",
                "Número de empresas","%",
                "Número de empresas","%") 

##### CUADRO C3A #####

"EMPRESAS CON CONEXIÓN A INTERNET Y USO DEL INTERNET SEGÚN SECTOR ECONÓMICO
(NÚMERO Y PORCENTAJE)"

variables <- c("tic2_4a","tic2_4b","tic2_4c","tic2_4d","tic2_4e","tic2_4f","tic2_4g",
               "tic2_4h","tic2_4i","tic2_4j","tic2_4k")

C3A <- tic_enesem(dat, variables,vertical = "cod_sector",horizontal = "des_sector") %>% 
  mutate(des_sector = ifelse(is.na(des_sector),"Total Nacional",des_sector))
C3A <- division(C3A, variables,"Total empresas") %>% 
  select(1,2,3,4,15,5,16,6,17,7,18,8,19,9,20,10,21,11,22,12,23,13,24,14,25)
C3A <- final(C3A,nrow(C3A))

names(C3A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total empresas","Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C3B #####

"EMPRESAS CON CONEXIÓN A INTERNET Y USO DEL INTERNET SEGÚN TAMAÑO DE EMPRESA
(NÚMERO Y PORCENTAJE)"

variables <- c("tic2_4a","tic2_4b","tic2_4c","tic2_4d","tic2_4e","tic2_4f","tic2_4g",
               "tic2_4h","tic2_4i","tic2_4j","tic2_4k")

C3B <- tic_enesem(dat, variables,vertical = "cod_tamano",horizontal = "des_tamano") %>% 
  mutate(des_tamano = ifelse(is.na(des_tamano),"Total Nacional",des_tamano))
C3B <- division(C3B, variables,"Total empresas") %>% 
  select(1,2,3,4,15,5,16,6,17,7,18,8,19,9,20,10,21,11,22,12,23,13,24,14,25)
C3B <- final(C3B,nrow(C3B))

names(C3B) <- c("Código tamaño","Descripción tamaño",
                "Total empresas","Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C4A #####

"EMPRESAS CON INTRANET, EXTRANET  Y RED DE ÁREA LOCAL SEGÚN SECTOR ECONÓMICO 
(NÚMERO Y PORCENTAJE)"

variables <- c("tic2_7a","tic2_7b","tic2_8")

C4A <- tic_enesem(dat, variables,vertical = "cod_sector",horizontal = "des_sector") %>% 
  mutate(des_sector = ifelse(is.na(des_sector),"Total Nacional",des_sector))
C4A <- division(C4A, variables,"Total empresas") %>% 
  select(1,2,3,4,7,5,8,6,9)
C4A <- final(C4A,nrow(C4A))

names(C4A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C4B #####

"EMPRESAS CON INTRANET, EXTRANET  Y RED DE ÁREA LOCAL SEGÚN TAMAÑO DE EMPRESA
(NÚMERO Y PORCENTAJE)"

variables <- c("tic2_7a","tic2_7b","tic2_8")

C4B <- tic_enesem(dat, variables,vertical = "cod_tamano",horizontal = "des_tamano") %>% 
  mutate(des_tamano = ifelse(is.na(des_tamano),"Total Nacional",des_tamano))
C4B <- division(C4B, variables,"Total empresas") %>% 
  select(1,2,3,4,7,5,8,6,9)
C4B <- final(C4B,nrow(C4B))

names(C4B) <- c("Código tamaño","Descripción tamaño",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C5A #####

"EMPRESAS QUE REALIZARON TRANSACCIONES COMERCIALES A TRAVÉS DE INTERNET 
SEGÚN SECTOR ECONÓMICO (NÚMERO Y PORCENTAJE) "

variables <- c("tic3_1","tic3_2")

C5A <- tic_enesem(dat, variables,vertical = "cod_sector",horizontal = "des_sector") %>% 
  mutate(des_sector = ifelse(is.na(des_sector),"Total Nacional",des_sector))
C5A <- division(C5A, variables,"Total empresas") %>% 
  select(1,2,3,4,6,5,7)
C5A <- final(C5A,nrow(C5A))

names(C5A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%")


##### CUADRO C5B #####

"EMPRESAS QUE REALIZARON TRANSACCIONES COMERCIALES A TRAVÉS DE INTERNET 
 SEGÚN TAMAÑO DE EMPRESA (NÚMERO Y PORCENTAJE)"

variables <- c("tic3_1","tic3_2")

C5B <- tic_enesem(dat, variables,vertical = "cod_tamano",horizontal = "des_tamano") %>% 
  mutate(des_tamano = ifelse(is.na(des_tamano),"Total Nacional",des_tamano))
C5B <- division(C5B, variables,"Total empresas") %>% 
  select(1,2,3,4,6,5,7)
C5B <- final(C5B,nrow(C5B))

names(C5B) <- c("Código tamaño","Descripción tamaño",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C6A #####

"EMPRESAS QUE UTILIZARON SOFTWARE DE CÓDIGO ABIERTO POR TIPO DE 
SOFTWARE SEGÚN SECTOR ECONÓMICO (NÚMERO Y PORCENTAJE)"

variables <- c("tic4_2a","tic4_2b","tic4_2c","tic4_2d","tic4_2e")

C6A <- tic_enesem(dat, variables,vertical = "cod_sector",horizontal = "des_sector") %>% 
  mutate(des_sector = ifelse(is.na(des_sector),"Total Nacional",des_sector))
C6A <- division(C6A, variables,"Total empresas") %>% 
  select(1,2,3,4,9,5,10,6,11,7,12,8,13)
C6A <- final(C6A,nrow(C6A))

names(C6A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C6B #####

"EMPRESAS QUE UTILIZARON SOFTWARE DE CÓDIGO ABIERTO POR TIPO DE 
SOFTWARE SEGÚN TAMAÑO DE EMPRESA (NÚMERO Y PORCENTAJE)"

variables <- c("tic4_2a","tic4_2b","tic4_2c","tic4_2d","tic4_2e")

C6B <- tic_enesem(dat, variables,vertical = "cod_tamano",horizontal = "des_tamano") %>% 
  mutate(des_tamano = ifelse(is.na(des_tamano),"Total Nacional",des_tamano))
C6B <- division(C6B, variables,"Total empresas") %>% 
  select(1,2,3,4,9,5,10,6,11,7,12,8,13)
C6B <- final(C6B,nrow(C6B))

names(C6B) <- c("Código tamaño","Descripción tamaño",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C7A #####

"EMPRESAS CUYAS ACTIVIDADES DE NEGOCIO SE APOYARON EN EL USO 
DE TICS SEGÚN SECTOR ECONÓMICO (NÚMERO Y PORCENTAJE)"

variables <- c("tic4_4a","tic4_4b","tic4_4c","tic4_4d","tic4_4e",
               "tic4_4f","tic4_4g","tic4_4h")

C7A <- tic_enesem(dat, variables,vertical = "cod_sector",horizontal = "des_sector") %>% 
  mutate(des_sector = ifelse(is.na(des_sector),"Total Nacional",des_sector))
C7A <- division(C7A, variables,"Total empresas") %>% 
  select(1,2,3,4,12,5,13,6,14,7,15,8,16,9,17,10,18,11,19)
C7A <- final(C7A,nrow(C7A))

names(C7A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C7B #####

"EMPRESAS CUYAS ACTIVIDADES DE NEGOCIO SE APOYARON EN EL USO 
DE TICS SEGÚN TAMAÑO DE EMPRESA (NÚMERO Y PORCENTAJE)"

variables <- c("tic4_4a","tic4_4b","tic4_4c","tic4_4d","tic4_4e",
               "tic4_4f","tic4_4g","tic4_4h")

C7B <- tic_enesem(dat, variables,vertical = "cod_tamano",horizontal = "des_tamano") %>% 
  mutate(des_tamano = ifelse(is.na(des_tamano),"Total Nacional",des_tamano))
C7B <- division(C7B, variables,"Total empresas") %>% 
  select(1,2,3,4,12,5,13,6,14,7,15,8,16,9,17,10,18,11,19)
C7B <- final(C7B,nrow(C7B))

names(C7B) <- c("Código tamaño","Descripción tamaño",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C8A #####

"EMPRESAS QUE UTILIZARON MEDIOS DE COMUNICACIÓN  
SEGÚN SECTOR ECONÓMICO (NÚMERO Y PORCENTAJE)"

variables <- c("tic5_1a","tic5_1b","tic5_1c","tic5_1d","tic5_1e",
               "tic5_1f","tic5_1g","tic5_1h")

C8A <- tic_enesem(dat, variables,vertical = "cod_sector",horizontal = "des_sector") %>% 
  mutate(des_sector = ifelse(is.na(des_sector),"Total Nacional",des_sector))
C8A <- division(C8A, variables,"Total empresas") %>% 
  select(1,2,3,4,12,5,13,6,14,7,15,8,16,9,17,10,18,11,19)
C8A <- final(C8A,nrow(C8A))

names(C8A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C8B #####

"EMPRESAS QUE UTILIZARON MEDIOS DE COMUNICACIÓN SEGÚN
TAMAÑO DE EMPRESA (NÚMERO Y PORCENTAJE)"

variables <- c("tic5_1a","tic5_1b","tic5_1c","tic5_1d","tic5_1e",
               "tic5_1f","tic5_1g","tic5_1h")

C8B <- tic_enesem(dat, variables,vertical = "cod_tamano",horizontal = "des_tamano") %>% 
  mutate(des_tamano = ifelse(is.na(des_tamano),"Total Nacional",des_tamano))
C8B <- division(C8B, variables,"Total empresas") %>% 
  select(1,2,3,4,12,5,13,6,14,7,15,8,16,9,17,10,18,11,19)
C8B <- final(C8B,nrow(C8B))

names(C8B) <- c("Código tamaño","Descripción tamaño",
                "Total empresas"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%"
                ,"Número de empresas","%")

##### CUADRO C9A #####

"PERSONAL AFILIADO, PERSONAL QUE UTILIZA INTERNET Y PERSONAL 
QUE UTILIZA COMPUTADORES SEGÚN SECTOR ECONÓMICO (NÚMERO Y PORCENTAJE)"

dat <- dat %>% 
  rowwise() %>% 
  mutate(pers_ocup_internet_tot = sum(tic2_3_3_pers_afil_internet_h, 
                                      tic2_3_4_pers_afil_internet_m,
                                      na.rm = T)) %>% 
  mutate(pers_ocup_comp = sum(tic4_1_1_3_pers_afil_usa_disp_h ,
                              tic4_1_1_4_pers_afil_usa_disp_m, na.rm = T)) %>% 
  mutate(totalpeoc = sum(tic6_1_1_1_pers_afil_h,
                         tic6_1_1_2_pers_afil_m, na.rm = T))

C9A <- dat %>% 
  group_by(`Código sector ecónomico` = as.factor(cod_sector), 
           `Descripción sector económico` = des_sector) %>% 
  summarise(`Total personal ocupado` = round_half_up(sum(totalpeoc* f_exp),11),
            `Personal que utiliza internet` = sum(pers_ocup_internet_tot* f_exp, na.rm = T),
            `Personal que utiliza computadores` = (sum(pers_ocup_comp* f_exp,na.rm = T))) %>% 
  ungroup() %>% 
  bind_rows(summarise(., across(where(is.numeric), sum))) %>% 
  mutate(`Descripción sector económico` = ifelse(
    is.na(`Descripción sector económico`),"Total Nacional",`Descripción sector económico`)) %>%
  mutate("%1" = `Personal que utiliza internet`/`Total personal ocupado`) %>% 
  mutate("%2" = `Personal que utiliza computadores`/`Total personal ocupado`) %>% 
  select(1,2,3,4,6,5,7)

C9A <- final(C9A,nrow(C9A))

names(C9A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total personal ocupado",
                "Número de empresas","%",
                "Número de empresas","%")

##### CUADRO C9B #####

"PERSONAL AFILIADO, PERSONAL QUE UTILIZA INTERNET Y PERSONAL 
QUE UTILIZA COMPUTADORES SEGÚN TAMAÑO DE EMPRESA (NÚMERO Y PORCENTAJE) "

C9B <- dat %>% 
  group_by(`Código sector ecónomico` = as.factor(cod_tamano), 
           `Descripción sector económico` = des_tamano) %>% 
  summarise(`Total personal ocupado` = round_half_up(sum(totalpeoc* f_exp),11),
            `Personal que utiliza internet` = sum(pers_ocup_internet_tot* f_exp, na.rm = T),
            `Personal que utiliza computadores` = (sum(pers_ocup_comp* f_exp,na.rm = T))) %>% 
  ungroup() %>% 
  bind_rows(summarise(., across(where(is.numeric), sum))) %>% 
  mutate(`Descripción sector económico` = ifelse(
    is.na(`Descripción sector económico`),"Total Nacional",`Descripción sector económico`)) %>%
  mutate("%1" = `Personal que utiliza internet`/`Total personal ocupado`) %>% 
  mutate("%2" = `Personal que utiliza computadores`/`Total personal ocupado`) %>% 
  select(1,2,3,4,6,5,7)

C9B <- final(C9B,nrow(C9B))

names(C9B) <- c("Código tamaño","Descripción tamaño",
                "Total personal ocupado",
                "Número de empresas","%",
                "Número de empresas","%")


##### CUADRO C10A #####

"CUADRO 10. ACTIVIDADES Y GASTOS PARA EL DESARROLLO DE INNOVACIONES DE PRODUCTOS Y PROCESOS
SEGÚN SECTOR ECONÓMICO (NÚMERO Y PORCENTAJE)"

C10A <- dat %>% 
  group_by(`Código sector ecónomico` = as.factor(cod_sector), 
           `Descripción sector económico` = des_sector) %>% 
  summarise(`Total empresas` = round_half_up(sum(f_exp),11),
            `Generación de productos nuevos o significativamente mejorados` = sum((tic7_2==1)* f_exp, na.rm = T),
            `Generación de procesos nuevos o significativamente mejorados` = sum((tic7_3==1)* f_exp, na.rm = T),
            `Valor invertido en Investigación y Desarrollo (I+D) interna` = (sum(tic7_5* f_exp,na.rm = T)),
            `Valor invertido en Investigación y Desarrollo (I+D) externa` = (sum(tic7_6* f_exp,na.rm = T)),
            `Gasto en otras actividades de innovación de producto o proceso`= (sum(tic7_7* f_exp,na.rm = T))) %>% 
  ungroup() %>% 
  bind_rows(summarise(., across(where(is.numeric), sum))) %>% 
  mutate(`Descripción sector económico` = ifelse(
    is.na(`Descripción sector económico`),"Total Nacional",`Descripción sector económico`)) %>%
  mutate("%1" = `Generación de productos nuevos o significativamente mejorados`/`Total empresas`) %>% 
  mutate("%2" = `Generación de procesos nuevos o significativamente mejorados`/`Total empresas`) %>% 
  select(1,2,3,4,9,5,10,6,7,8)

C10A <- final(C10A,nrow(C10A))

names(C10A) <- c("Código sector ecónomico","Descripción sector económico",
                "Total empresas","Generación de productos nuevos o significativamente mejorados","%1", 
                "Generación de procesos nuevos o significativamente mejorados","%2",
                "Valor invertido en Investigación y Desarrollo (I+D) interna",
                "Valor invertido en Investigación y Desarrollo (I+D) externa",
                "Gasto en otras actividades de innovación de producto o proceso")

##### CUADRO C10B #####

"CUADRO 10. ACTIVIDADES Y GASTOS PARA EL DESARROLLO DE INNOVACIONES DE PRODUCTOS Y PROCESOS
SEGÚN TAMAÑO DE ECONÓMICO (NÚMERO Y PORCENTAJE)"

C10B <- dat %>% 
  group_by(`código tamaño` = as.factor(cod_tamano), 
           `Descripción tamaño` = des_tamano) %>% 
  summarise(`Total empresas` = round_half_up(sum(f_exp),11),
            `Generación de productos nuevos o significativamente mejorados` = sum((tic7_2==1)* f_exp, na.rm = T),
            `Generación de procesos nuevos o significativamente mejorados` = sum((tic7_3==1)* f_exp, na.rm = T),
            `Valor invertido en Investigación y Desarrollo (I+D) interna` = (sum(tic7_5* f_exp,na.rm = T)),
            `Valor invertido en Investigación y Desarrollo (I+D) externa` = (sum(tic7_6* f_exp,na.rm = T)),
            `Gasto en otras actividades de innovación de producto o proceso`= (sum(tic7_7* f_exp,na.rm = T))) %>% 
  ungroup() %>% 
  bind_rows(summarise(., across(where(is.numeric), sum))) %>% 
  mutate(`Descripción tamaño` = ifelse(
    is.na(`Descripción tamaño`),"Total Nacional",`Descripción tamaño`)) %>%
  mutate("%1" = `Generación de productos nuevos o significativamente mejorados`/`Total empresas`) %>% 
  mutate("%2" = `Generación de procesos nuevos o significativamente mejorados`/`Total empresas`) %>% 
  select(1,2,3,4,9,5,10,6,7,8)

C10B <- final(C10B,nrow(C10B))

names(C10B) <- c("Código tamaño","Descripción tamaño",
                 "Total empresas","Generación de productos nuevos o significativamente mejorados","%1", 
                 "Generación de procesos nuevos o significativamente mejorados","%2",
                 "Valor invertido en Investigación y Desarrollo (I+D) interna",
                 "Valor invertido en Investigación y Desarrollo (I+D) externa",
                 "Gasto en otras actividades de innovación de producto o proceso")


# ============================================================================ #
#####               DISEÑO Y EXPORTACIÓN DE TABULADOS A EXCEL              ##### 
# ============================================================================ #
"En esta sección se diseñara y exportara los tabulados en formato excel"

##### Configuracion tabulados #####

"Aplicación de función de tabulados"

config_tabulados <- tribble(
  ~hoja,  ~objeto, ~fila,
  "C1A",  C1A,     5, #tabulado 1A
  "C1B",  C1B,     5, #tabulado 1B
  "C2A",  C2A,     5, #tabulado 2A
  "C2B",  C2B,     5, #tabulado 2B
  "C3A",  C3A,     6, #tabulado 3A
  "C3B",  C3B,     6, #tabulado 3B
  "C4A",  C4A,     5, #tabulado 4A
  "C4B",  C4B,     5, #tabulado 4B
  "C5A",  C5A,     5, #tabulado 5A
  "C5B",  C5B,     5, #tabulado 5B
  "C6A",  C6A,     6, #tabulado 6A
  "C6B",  C6B,     6, #tabulado 6B
  "C7A",  C7A,     6, #tabulado 7A
  "C7B",  C7B,     6, #tabulado 7B
  "C8A",  C8A,     6, #tabulado 8A
  "C8B",  C8B,     6, #tabulado 8B
  "C9A",  C9A,     5, #tabulado 9A
  "C9B",  C9B,     5, #tabulado 9B
  "C10A", C10A,    5, #tabulado 10A
  "C10B", C10B,    5) #tabulado 10B

"Integración de tabulados"

pwalk(config_tabulados, ~ escribir_tabulado(tic, ..1, ..2, ..3))

##### EXPORTACIÓN #####

anio_inv <- floor_date(today(), "day") %>%
  str_sub(1, 4) %>% 
  as.numeric() %>% 
  sum(-2, na.rm = T) %>% 
  str_c(.,"_","ENESEM_TIC_Tabulados_Excel.xlsx")

saveWorkbook(tic, anio_inv,overwrite = TRUE)
