Encuesta de Actividades de Innovación e Investigación (EAII) 2019-2021
eaii.Rmd
Esta encuesta es utilizada para obtener información sobre las actividades de innovación e investigación y desarrollo en las empresas, instituciones y organismos del país, es realizada por la Agencia Nacional de Innovación e Investigación (ANII) en conjunto con el Instituto Nacional de Estadística (INE). Los microdatos oficiales se encuentran diposibles en PRISMA junto con la documentación de la encuesta. En el paquete se encuentra el mismo archivo de microdatos en formato CSV unicamente con fines de ejemplo.
Configuración del motor
El paquete tiene diferentes motores para trabajar con datos, en este
caso se usará el motor data.table
. Para cambiar el motor se
puede usar la función set_engine
y para ver los motores
disponibles se puede usar la función show_engines
, en este
ejemplo se usará el motor data.table
.
library(metasurvey)
#> Welcome to: metasurvey version 0.0.1.9000
#> use_copy: TRUE
#> metasurvey.engine: data.table
#> metasurvey.api.key: ********
#> metasurvey.user: public
Carga de datos
Al cargar la encuesta se utiliza la función load_survey
,
actualmente se pueden cargar encuestas en los siguientes formatos:
- CSV (con el motor
data.table
) - XLSX (con el motor
tidyverse
) - SPSS (con el motor
data.table
otidyverse
)
Además de los microdatos, es necesario cargar algunos metadatos para poder trabajar con la encuesta, actualmente es requerida la siguiente información:
- Tipo de encuesta, por ejemplo: EPH, ECH, EAII, etc.
- Edición de la encuesta, es necesario para poder buscar recetas predefinidas y compartir recetas entre diferentes usuarios.
- Variable de ponderación, es necesario para poder realizar estimaciones y definir el diseño muestral de la encuesta.
Una vez cargada la encuesta obtendremos un objeto de la clase
Survey
que contiene los microdatos y los metadatos de la
encuesta.
# Tipo de encuesta: ECH
# Edición de la encuesta: 2018
# Variable de ponderación: pesoano
svy_example <- metasurvey::load_survey(
path = "https://raw.githubusercontent.com/metasurveyr/metasurvey_data/main/eaii/2019-2021.csv",
svy_type = "eaii",
svy_edition = "2019-2021",
svy_weight = "w_trans",
dec = ","
)
#> Loading required package: data.table
class(svy_example)
#> [1] "Survey" "R6"
De esta forma se carga la encuesta en memoria al ser un objeto de la
clase Survey
se pueden realizar diferentes operaciones con
ella, como recodificar variables, crear nuevas variables, aunque siempre
se pueden obtener los datos en formato data.table
o
tibble
para trabajar con ellos de forma más directa.
survey_to_data_frame(svy_example)[1:5, 1:3]
#> ID_Estadistico Division IG_3_6
#> 1 2 55 2
#> 2 4 52 2
#> 3 7 21 2
#> 4 9 11 2
#> 5 10 10 2
survey_to_tibble(svy_example)[1:5, 1:3]
#> # A tibble: 5 × 3
#> ID_Estadistico Division IG_3_6
#> <int> <int> <int>
#> 1 2 55 2
#> 2 4 52 2
#> 3 7 21 2
#> 4 9 11 2
#> 5 10 10 2
get_data(svy_example)[1:5, 1:3]
#> ID_Estadistico Division IG_3_6
#> <int> <int> <int>
#> 1: 2 55 2
#> 2: 4 52 2
#> 3: 7 21 2
#> 4: 9 11 2
#> 5: 10 10 2
Uso de recipes y workflows
eaii_2019 <- metasurvey::load_survey(
svy_type = "eaii",
svy_edition = "2019-2021",
svy_weight = "w_trans",
input = "https://raw.githubusercontent.com/metasurveyr/metasurvey_data/main/eaii/2019-2021.csv",
dec = ","
)
Recodificación de variables con steps y recipes
En este ejemplo se mostrará como crear variables relacionadas al sector, edad de la empresa, tamaño de la empresa y si la empresa es innovadora o no además del tipo de actividad de innovación que realiza de forma tal de poder recrear este gráfico de la sección de Innovación de PRISMA.
En este portal se pueden obtener datos a nivel de todas las empresas aunque también se pueden obtener estimaciones en diferentes dominios de interés, como el tamaño de la empresa, sector, edad de la empresa, dichos dominios no se encuentran disponibles de forma directa en los microdatos oficiales, por lo que es necesario realizar una recodificación de las variables para poder obtener las estimaciones deseadas.
Tamaño de la empresa
En base al decreto Nº 504/007 se clasifican las empresas en tres
categorías según la cantidad de trabajadores y el monto de las ventas,
en este caso se recodificará la variable IG_4_1_3
que
representa la cantidad de trabajadores y la variable
IG_5_1_1_3
que representa el monto de las ventas. El
decreto Nº 504/007 establece las siguientes categorías:
Pequeñas empresas: Son las que ocupan no más de diecinueve (19) personas y cuyas ventas anuales excluído el IVA, no superan el equivalente a diez millones (10.000.000) de unidades indexadas (U.I.).
Medianas empresas: Son las que ocupan no más de noventa y nueve (99) personas y cuyas ventas anuales excluído el IVA, no superan el equivalente a setenta y cinco millones (75.000.000) de unidades indexadas (U.I.).
Grandes empresas: Son las que ocupan más de noventa y nueve (99) personas y cuyas ventas anuales excluído el IVA, superan el equivalente a setenta y cinco millones (75.000.000) de unidades indexadas (U.I.).
eaii_2019 <- eaii_2019 |>
metasurvey::step_recode( # Clasificación tamaño de la empresa decreto Nº 504/007
new_var = cant_traba_tramo,
data.table::between(IG_4_1_3, 0, 4) ~ "1",
data.table::between(IG_4_1_3, 5, 19) ~ "2",
data.table::between(IG_4_1_3, 20, 99) ~ "3",
IG_4_1_3 > 99 ~ "4"
) |>
metasurvey::step_recode( # Clasificación tamaño de la empresa decreto Nº 504/007
new_var = ingreso_vta_pesos,
data.table::between(IG_5_1_1_3, 0, 9942787) ~ "1",
data.table::between(IG_5_1_1_3, 9942788, 49713934) ~ "2", # nolint
data.table::between(IG_5_1_1_3, 49713935, 372854507) ~ "3", # nolint
IG_5_1_1_3 > 372854507 ~ "4"
) |>
metasurvey::step_recode( # Clasificación tamaño de la empresa decreto Nº 504/007
new_var = tamanio,
cant_traba_tramo == "1" & ingreso_vta_pesos == "1" ~ "Pequenias",
cant_traba_tramo == "2" & ingreso_vta_pesos == "2" ~ "Pequenias",
cant_traba_tramo == "2" & ingreso_vta_pesos == "1" ~ "Pequenias",
cant_traba_tramo == "1" & ingreso_vta_pesos == "2" ~ "Pequenias",
cant_traba_tramo == "3" & ingreso_vta_pesos == "3" ~ "Medianas",
cant_traba_tramo == "3" & ingreso_vta_pesos == "2" ~ "Medianas",
cant_traba_tramo == "3" & ingreso_vta_pesos == "1" ~ "Medianas",
cant_traba_tramo == "1" & ingreso_vta_pesos == "3" ~ "Medianas",
cant_traba_tramo == "2" & ingreso_vta_pesos == "3" ~ "Medianas",
cant_traba_tramo == "4" & ingreso_vta_pesos == "4" ~ "Grandes",
cant_traba_tramo == "4" & ingreso_vta_pesos == "3" ~ "Grandes",
cant_traba_tramo == "4" & ingreso_vta_pesos == "2" ~ "Grandes",
cant_traba_tramo == "4" & ingreso_vta_pesos == "1" ~ "Grandes",
cant_traba_tramo == "1" & ingreso_vta_pesos == "4" ~ "Grandes",
cant_traba_tramo == "2" & ingreso_vta_pesos == "4" ~ "Grandes",
cant_traba_tramo == "3" & ingreso_vta_pesos == "4" ~ "Grandes"
)
Edad de la empresa
Las empresas se clasifican en tres categorías según su edad, para
ello se recodificará la variable IG_3_5_1
que representa la
fecha de fundación de la empresa.
- Jovenes: Empresas con menos de 10 años de antigüedad.
- Medianas: Empresas con entre 11 y 20 años de antigüedad.
- Maduras: Empresas con más de 20 años de antigüedad.
eaii_2019 <- eaii_2019 |>
metasurvey::step_compute(
edad = difftime(
"2019-01-01",
as.Date(paste(IG_3_5_1, "01", "01", sep = "-")),
units = "weeks"
) / 52
) |>
metasurvey::step_recode(
edad_tramos,
data.table::between(edad, 0, 10) ~ "Jovenes",
data.table::between(edad, 11, 20) ~ "Medianas",
edad > 20 ~ "Maduras"
)
Tipo de empresa
Las empresas se clasifican en tres categorías según su tipo, para
ello se recodificará la variable IG_3_6
que representa en
el cuestionario a la siguiente pregunta “Indique si la empresa era
pública, privada o mixta en el año 2021”.
eaii_2019 <- eaii_2019 |>
metasurvey::step_recode(
tipo_empresa,
IG_3_6 == 1 ~ "Publica",
IG_3_6 == 2 ~ "Privada",
IG_3_6 == 3 ~ "Mixta"
)
Sector CIUU
Cada empresa se clasifica en un sector según la Clasificación
Industrial Internacional Uniforme de todas las actividades económicas
(CIUU), en este caso se recodificará la variable Division
que representa el sector de la empresa.
eaii_2019 <- eaii_2019 |>
metasurvey::step_recode(
sector,
data.table::between(Division, 10, 33) ~ "Industria",
data.table::between(Division, 34, 99) ~ "Servicios",
Division == "E1" ~ "Servicios",
Division == "C1" ~ "Industria",
Division == "C2" ~ "Industria"
) |>
metasurvey::step_compute(
subsector = Division
)
Realiza actividades de innovación
En base a la pregunta “¿La empresa realizó actividades de innovación
en el período 2019-2021?” se recodificará la variable
IG_6_1
que representa si la empresa realizó actividades de
innovación en el período 2019-2021.
eaii_2019 <- eaii_2019 |>
metasurvey::step_recode(
new_var = realiza_innovacion,
B1_1_1 == 1 ~ 1,
B1_2_1 == 1 ~ 1,
B1_3_1 == 1 ~ 1,
B1_4_1 == 1 ~ 1,
B1_5_1 == 1 ~ 1,
B1_6_1 == 1 ~ 1,
B1_7_1 == 1 ~ 1,
B1_8_1 == 1 ~ 1,
B1_9_1 == 1 ~ 1,
.default = 0
)
De esta forma si se realiza una estimación de la cantidad de empresas que realizan actividades de innovación en el período 2019-2021 se puede obtener la siguiente tabla:
# TODO Poner ejemplo de estimar una proporción
Tipo de actividad de innovación
eaii_2019 <- eaii_2019 |>
step_compute(
software = ifelse(
B1_4_1 == 1,
1,
0
),
id_interna = ifelse(
B1_1_1 == 1,
1,
0
),
id_externa = ifelse(
B1_2_1 == 1,
1,
0
),
bienes_capital = ifelse(
B1_3_1 == 1,
1,
0
),
propiedad_intelectual = ifelse(
B1_5_1 == 1,
1,
0
),
ingenieria = ifelse(
B1_6_1 == 1,
1,
0
),
capacitacion = ifelse(
B1_7_1 == 1,
1,
0
),
marketing = ifelse(
B1_8_1 == 1,
1,
0
),
gestion = ifelse(
B1_9_1 == 1,
1,
0
)
)
Workflow
Una vez realizada la recodificación de variables se puede obtener
cada paso realizado con la función get_steps
o visualizarlo
en forma de DAG con la función
metasurvey::view_graph(eaii_2019)