En el siguiente informe encontraran el análisis descriptivo de una base de datos de varias empresas colombianas para el año 2022 donde se analizaron por tamaño y sector los Ingresos y Activos de las empresas.
Primero vamos a cargar los paquetes que nos van a permitir hacer los calculos necesarios en R
# Configurar el mirror de CRAN
options(repos = c(CRAN = "https://cran.rstudio.com"))
install.packages("readxl")
## Installing package into 'C:/Users/Sebastian/AppData/Local/R/win-library/4.4'
## (as 'lib' is unspecified)
## package 'readxl' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'readxl'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problema al copiar
## C:\Users\Sebastian\AppData\Local\R\win-library\4.4\00LOCK\readxl\libs\x64\readxl.dll
## a
## C:\Users\Sebastian\AppData\Local\R\win-library\4.4\readxl\libs\x64\readxl.dll:
## Permission denied
## Warning: restored 'readxl'
##
## The downloaded binary packages are in
## C:\Users\Sebastian\AppData\Local\Temp\Rtmpyus2gw\downloaded_packages
library(readxl)
install.packages("e1071")
## Installing package into 'C:/Users/Sebastian/AppData/Local/R/win-library/4.4'
## (as 'lib' is unspecified)
## package 'e1071' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'e1071'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problema al copiar
## C:\Users\Sebastian\AppData\Local\R\win-library\4.4\00LOCK\e1071\libs\x64\e1071.dll
## a C:\Users\Sebastian\AppData\Local\R\win-library\4.4\e1071\libs\x64\e1071.dll:
## Permission denied
## Warning: restored 'e1071'
##
## The downloaded binary packages are in
## C:\Users\Sebastian\AppData\Local\Temp\Rtmpyus2gw\downloaded_packages
library("e1071")
Empresas <- read_excel("C:/Users/Sebastian/Downloads/GRANDES EMPRESAS 2022 (1).xlsx", sheet = "GRANDES",
col_types = c("text", "text", "text", "text",
"text", "text", "numeric", "numeric"))
Para empezar vamos a cargar la base de datos que consta de una muestra de 913 empresas
Empresas <- read_excel("C:/Users/Sebastian/Downloads/GRANDES EMPRESAS 2022 (1).xlsx", sheet = "GRANDES",
col_types = c("text", "text", "text", "text",
"text", "text", "numeric", "numeric"))
Como se puede ver a continuación la base consta de 913 registros con 8 columnas donde se tiene el ID de la compañía, el nombre, la cantidad de empleados, su tamaño según la cantidad de empleados C3<=10;“MICRO”;SI(C3<=50;“PEQUEÑA”;SI(C3<=200;“MEDIANA”;“GRANDE”)))(Micro menor o igual a 10, Pequeña si esta entre 20 y 50, Mediana si esta entre 50 y 200 y Grande si es superior a 200), el sector CIUU, la simplificación del sector, los ingresos y los activos.
Empresas
## # A tibble: 913 × 8
## Num Compañía empleados tamaño Sector (CIIU Rev.4 A…¹ sector INGRESO ACTIVOS
## <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl>
## 1 1 Refiner… 46 PEQUE… Fabricación De Produc… C1 2.79e7 4.28e7
## 2 2 Cemento… 5177 GRANDE Fabricación De Cement… C2 1.19e7 2.33e7
## 3 3 Bavaria… 2781 GRANDE Producción De Malta, … C1 5.69e6 1.07e7
## 4 4 Droguer… 6648 GRANDE Fabricación De Produc… C2 4.25e6 2.86e6
## 5 5 Comerci… 18 PEQUE… Fabricación De Pintur… C2 4.08e6 2.12e3
## 6 6 Industr… 1806 GRANDE Elaboración De Bebida… C1 4.05e6 2.34e6
## 7 7 Renault… 1266 GRANDE Fabricación De Vehícu… C2 3.70e6 1.04e6
## 8 8 Esentti… 354 GRANDE Fabricación De Plásti… C2 3.70e6 3.67e6
## 9 9 Alpina … 4712 GRANDE Elaboración De Produc… C1 3.61e6 2.41e6
## 10 10 General… 872 GRANDE Fabricación De Vehícu… C2 3.56e6 2.13e6
## # ℹ 903 more rows
## # ℹ abbreviated name: ¹`Sector (CIIU Rev.4 A.C.)`
dim(Empresas)
## [1] 913 8
Se eligieron las variables INGRESO y ACTIVOS porque consideramos que son indicadores clave para comprender el comportamiento financiero de una empresa. El ingreso refleja la capacidad de la empresa para generar recursos a partir de sus operaciones principales, mientras que los activos representan los recursos que la empresa posee para producir bienes o servicios. Analizar la relación entre estas variables nos permite evaluar aspectos como la eficiencia en el uso de los recursos, la rentabilidad y el potencial de crecimiento de la empresa, aspectos fundamentales para su desempeño y sostenibilidad en el tiempo.
###Tablas cruzadas
tablacruzada<-table(Empresas$tamaño, Empresas$sector) #Calcula frecuencias
tablacruzada
##
## A01 C1 C2 C3
## GRANDE 6 265 246 32
## MEDIANA 0 123 118 6
## MICRO 0 45 18 5
## PEQUEÑA 0 23 23 3
tablacruzadacond<-prop.table(tablacruzada,2)
tablacruzadacond
##
## A01 C1 C2 C3
## GRANDE 1.00000000 0.58114035 0.60740741 0.69565217
## MEDIANA 0.00000000 0.26973684 0.29135802 0.13043478
## MICRO 0.00000000 0.09868421 0.04444444 0.10869565
## PEQUEÑA 0.00000000 0.05043860 0.05679012 0.06521739
En general podemos ver una predominancia de las grandes empresas en todas las categorías, seguido por las medianas. Por otro lado las proporciones de pequeña y micro empresa son muy similares siendo en general las de menor proporción en todas las categorías..
Lo cual se puede ver reflejado en el siguiente gráfico.
barplot(tablacruzadacond,beside=TRUE, col=rainbow(10), main="Tamaño y sector", xlab="Tamaño", ylab="Proporcion de empresas", ylim=c(0,0.80))
Para poder conocer a mayor profundidad los datos de las variables seleccionadas vamos a sacar algunas medidas de tendencia central.
summary(Empresas$ACTIVOS)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 620 68053 141097 406476 342419 42844950
summary(Empresas$INGRESO)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 66184 102884 179842 446701 413314 27856976
Para las dos variables tenemos promedios que se encuentran por encima de la media y del tercer cuartil lo cual nos puede sugerir algún sesgo hacia arriba.
Para conocer la dispersión de los datos según las variables seleccionadas y saber así que tan sesgadas pueden estar las medidas de tendencia central vamos a sacar algunas medidas que nos pueden dar muestra de la dispersión de los datos en las dos variables.
#Medidas para Activos
PromedioA<-mean(Empresas$ACTIVOS)
desviaciónA<-sd(Empresas$ACTIVOS)
desviaciónA
## [1] 1710261
CVA <- (desviaciónA/PromedioA) * 100
CVA
## [1] 420.7537
asimetría<-skewness(Empresas$ACTIVOS)
asimetría
## [1] 19.66633
kurtosis<-kurtosis(Empresas$ACTIVOS)
#Medidas para Ingresos
PromedioI<-mean(Empresas$INGRESO)
desviaciónI<-sd(Empresas$INGRESO)
desviaciónI
## [1] 1156766
CVI <- (desviaciónI/PromedioI) * 100
asimetríaI<-skewness(Empresas$INGRESO)
asimetríaI
## [1] 16.14737
kurtosisI<-kurtosis(Empresas$INGRESO)
kurtosisI
## [1] 354.4563
Como era de esperarse en los dos casos vemos coeficientes de variación muy altos que nos muestran que la dispersión de las dos variables es elevada. Además, la simetría positiva nos muestra que hay un sesgo hacia valores altos. Finalmente, la curtosis nos muestra que hay gran cantidad de valores extremos en las dos variables.
Para ver mejor gráficamente esto vamos a hacer gráficos de caja según el tamaño de las empresas y las variables seleccionadas.
boxplot(Empresas$ACTIVOS~Empresas$tamaño)
boxplot(Empresas$INGRESO~Empresas$tamaño)
En los dos casos vemos que hay algunas empresas en grandes y pequeñas que tienen algunos datos muy elevados (datos atípicos) que no dejan visualizar bien la gráfica.
Para resolver este problema y poder tener un mejor análisis debemos encontrar y eliminar datos atípicos. Lo cual vamos a hacer en el siguiente código.
##Datos atipicos
q1A<-quantile(Empresas$ACTIVOS, probs=0.25) #Se halla el cuartil 1
q3A<-quantile(Empresas$ACTIVOS, probs=0.75) #Se halla el cuartil 3
RIA<-q3A-q1A #Este es el rango intercuartilico
LiminfA<-q1A-1.5*RIA #Halla el límite inferior
LimsupA<-q3A+1.5*RIA #Halla el límite superior
no_atipA<-subset(Empresas, Empresas$ACTIVOS> LiminfA & Empresas$ACTIVOS < LimsupA) #Se
#Se genera un nuevo subconjunto de datos, al que llame no_atip, sobre el archivo llamado Empresas y cuando se cumple que la variable Activos es mayor al límite inferior y menor al límite superior
q1I<-quantile(Empresas$INGRESO, probs=0.25) #Se halla el cuartil 1
q3I<-quantile(Empresas$INGRESO, probs=0.75) #Se halla el cuartil 3
RII<-q3I-q1I #Este es el rango intercuartilico
LiminfI<-q1I-1.5*RII #Halla el límite inferior
LimsupI<-q3I+1.5*RII #Halla el límite superior
no_atipI<-subset(Empresas, Empresas$INGRESO> LiminfI & Empresas$INGRESO < LimsupI) #Se genera un nuevo subconjunto de datos, al que llame no_atip, sobre el archivo llamado Empresas y cuando se cumple que la variable Ingresos es mayor al límite inferior y menor al límite superior
Ya con esto, procedemos a tratar los datos esperando tener un mejor resultado
##Estadistica descriptiva sin atipicos
PromedioA1<-mean(no_atipA$ACTIVOS)
desviaciónA1<-sd(no_atipA$ACTIVOS)
desviaciónA1
## [1] 169770.2
CVA1 <- (desviaciónA1/PromedioA1) * 100
CVA1
## [1] 91.29178
PromedioI1<-mean(no_atipI$INGRESO)
desviaciónI1<-sd(no_atipI$INGRESO)
desviaciónI1
## [1] 175503.3
CVI1 <- (desviaciónI1/PromedioI1) * 100
CVI1
## [1] 79.67382
En este caso hay resultados más favorables, pues el Coeficiente de variación disminuyó hasta 91 y 80 para Activos e Ingresos respectivamente, y aunque sigue siendo alto y por ende la media no es tan confiable, si nos permite analizar gráficamente mejor los datos..
hist(no_atipA$ACTIVOS, breaks = 12, col = "pink", border = "purple")
hist(no_atipI$INGRESO, breaks = 12, col = "pink", border = "purple")
En el caso de los histogramas vemos que para los dos casos la mayor parte de los datos están mayoritariamente en los datos más bajos.
boxplot(no_atipA$ACTIVOS~no_atipA$tamaño) #Diagrama de caja de Activos combinado con tamaño
boxplot(no_atipI$INGRESO~no_atipI$tamaño) #Diagrama de caja de Activos combinado con tamaño
Este grafico nos muestra que para el caso de los activos en la mediana y micro empresa hay una gran cantidad de empresas que no se ajustan a la tendencia de las demás, es decir que aunque tienen una cantidad de trabajadores similares el valor de sus activos es mucho más grande que el de las demás. Mas relevante aun, es observar en el grafico de ingresos como en grandes y medianas empresas varias de estas empresas suelen producir con una cantidad de trabajadores similares hasta 4 veces más ingresos que las demás
El análisis de los datos sobre ingresos y activos de empresas colombianas en 2022 nos muestra información importante sobre su desempeño financiero y estructura. En general, las grandes empresas tienen un papel predominante, tanto en cantidad como en los valores de ingresos y activos, mientras que las micro y pequeñas empresas representan una proporción mucho menor.
Las medidas de dispersión y los gráficos nos revelan desigualdades importantes en la distribución de los datos. Hay un sesgo hacia valores altos, una gran variabilidad y muchos valores extremos, lo que hace que medidas como la media no sean del todo confiables. Sin embargo, al tratar los datos para manejar estos valores atípicos, logramos obtener una visión más clara de las tendencias, aunque la dispersión sigue siendo considerable.
Al analizar los histogramas y gráficos de caja, encontramos que la mayoría de los ingresos y activos se concentran en valores bajos, especialmente en las micro y pequeñas empresas. Pero también destacan algunos casos muy particulares: empresas que, aun teniendo un número similar de empleados, generan ingresos o poseen activos mucho más altos que el resto. Esto refleja diferencias significativas en eficiencia y rentabilidad entre las empresas de la muestra.