# Librerías a usar.
library(readxl)
library(tidyverse)
library(knitr)

El marco muestral es la base de datos de los indicadores financieros con corte en el año 2020, donde se presentan el año, expediente, nombres de las empresas rama a la que pertenece cada una, la descripción de cada rama, su respectiva subrama y los diferentes indicadores financieros.

# Importamos los datos.
indicadores = read_excel("indicadores2020_cia.xlsx")

Se van a seleccionar variables en función del objetivo de la investigación y posteriormente se procederá a su depuración.

indicadores = indicadores %>% 
  select(RAMA, 
         `DESCRIPCIÓN RAMA`, 
         `SUBRAMA 2 DÍGITOS`,
         `LIQUIDEZ CORRIENTE`)

Podemos observar entonces un resumen de los datos:

indicadores %>% summary()
##      RAMA           DESCRIPCIÓN RAMA   SUBRAMA 2 DÍGITOS  LIQUIDEZ CORRIENTE
##  Length:84470       Length:84470       Length:84470       Min.   :       0  
##  Class :character   Class :character   Class :character   1st Qu.:       1  
##  Mode  :character   Mode  :character   Mode  :character   Median :       2  
##                                                           Mean   :     626  
##                                                           3rd Qu.:       4  
##                                                           Max.   :23834698  
##                                                           NA's   :24693

Se puede observar que en la variable hay datos faltantes, procedemos a filtrarlos, ademas que a las variables de tipo categóricas transformarlas en un factor.

indicadores = indicadores %>% 
  filter(!is.na(`LIQUIDEZ CORRIENTE`)) %>% 
  mutate(RAMA = factor(RAMA)) %>% 
  mutate(`DESCRIPCIÓN RAMA` = factor(`DESCRIPCIÓN RAMA`)) %>% 
  mutate(`SUBRAMA 2 DÍGITOS` = factor(`SUBRAMA 2 DÍGITOS`))

Uno de los objetivos específicos es estimar la proporción de empresas que lograron obtener una liquidez corriente superior a 1.5 en las diferentes subramas a la que pertenecen, por lo tanto se creara una variable denominada la cual sera de tipo categórica y tendrá en caso de que la empresa tenga una liquidez corriente menor a 1.5 tendrá la categoría “Menor a 1.5”, caso contrario tendrá la categoría “Mayor a 1.5”.

indicadores$`LIQUIDEZ CORRIENTE >1.5` = rep("", nrow(indicadores))

indicadores = indicadores %>% 
  mutate(`LIQUIDEZ CORRIENTE >1.5` = ifelse(`LIQUIDEZ CORRIENTE` < 1.5, 
                                            "Menor a 1.5", 
                                            "Mayor a 1.5")) %>% 
  mutate(`LIQUIDEZ CORRIENTE >1.5` = factor(`LIQUIDEZ CORRIENTE >1.5`))

Podemos proceder entonces con el calculo de nuestra muestra por conglomerados.

Como nuestro objetivo es estimar la proporción de empresas que lograron obtener una liquidez corriente superior a 1.5 en las diferentes subramas a la que pertenecen, el tamaño de muestra determinado con una significancia \(\alpha = 0.05\) y un error absoluto del \(e = 0.05\), tenemos entonces un tamaño muestral \(n = 8.687 \approx 9\). Entonces generamos 9 números aleatorios uniformemente distribuidos y obtenemos nuestra muestra de la variable

set.seed(42)
muestra = sample(1:9)
conglomerados = unique(indicadores$`SUBRAMA 2 DÍGITOS`)[muestra]
print(conglomerados %>% as.character())
## [1] "A02" "B06" "C13" "H50" "M69" "N79" "N82" "J59"

Una vez con nuestra muestra se calculan los estadísticos deseados:

Subrama Número de empresas Empresas con liquidez corriente mayor a 1,50 (wi-pmi)^2
N82 938 248 385,4081561
M69 2830 847 1563,364713
C13 227 126 3749,352865
N79 2152 460 23719,83067
J59 212 55 30,12049321
A02 236 121 2879,831725
B06 69 40 412,6097733
H50 251 76 19,22153552
6915 1973 32759,73993

Ahora filtramos los datos de interés según la muestra.

muestra_final = indicadores %>%
  filter(`SUBRAMA 2 DÍGITOS` == "N82" |
         `SUBRAMA 2 DÍGITOS` == "M69" |
         `SUBRAMA 2 DÍGITOS` == "C13" |
         `SUBRAMA 2 DÍGITOS` == "N79" |
         `SUBRAMA 2 DÍGITOS` == "J59" |
         `SUBRAMA 2 DÍGITOS` == "A02" |
         `SUBRAMA 2 DÍGITOS` == "B06" |
         `SUBRAMA 2 DÍGITOS` == "H50" ) 

Ya con la muestra y las variables de interés, se pueden hacer análisis exploratorios. Como por ejemplo un gráfico de proporción por subrama de la empresa y si su liquidez corriente es mayor o menos a 1.5.

muestra_final %>% 
  mutate(`SUBRAMA 2 DÍGITOS` = `SUBRAMA 2 DÍGITOS` %>% fct_infreq() %>% fct_rev()) %>% 
  ggplot() +
  geom_bar(mapping = aes(x = `SUBRAMA 2 DÍGITOS`,
                         y = (..count..)/sum(..count..),
                         fill = `LIQUIDEZ CORRIENTE >1.5`),
           color = "white",
           position = "dodge") + 
  coord_flip() + 
  labs(title = "Proporción de empresas con liquidez corriente superior a 1.5",
       subtitle = "Clasificacion: Subrama",
       caption = "Nota: Basado en una muestra aleatoria por conglomerados.") +
  ylab("") + xlab("") +
  scale_fill_manual(values = c("#002A7C", "#4E97D1")) +
  guides(fill = guide_legend(title = "Liquidez Corriente:")) +
  theme_minimal()

Ahora, ya con nuestra muestra estimamos \(p\).

muestra_final$`LIQUIDEZ CORRIENTE >1.5` = muestra_final$`LIQUIDEZ CORRIENTE >1.5` %>% as.character()
p = sum(muestra_final$`LIQUIDEZ CORRIENTE >1.5` == "Mayor a 1.5")/length(muestra_final$`LIQUIDEZ CORRIENTE >1.5` == "Mayor a 1.5")
print(p)
## [1] 0.29

Calculando un intervalo de confianza del \(95\%\)

alpha = 0.05
n = 9
IC.95 = rbind(
  p - qnorm(p = alpha/2)*sqrt(p*(1-p)/n),
  p + qnorm(p = alpha/2)*sqrt(p*(1-p)/n)
)

print(IC.95)
##              [,1]
## [1,]  0.586452427
## [2,] -0.006452427