library(readxl)
df <- read_excel("conjunto-dinamica-empresarial-bogota-21052026.xlsx")
Warning: Expecting numeric in F32576 / R32576C6: got 'Sin información'
Warning: Expecting numeric in F35697 / R35697C6: got 'Sin información'
Cantidad de empresas con matricula mercantil vigente, creadas y
canceladas, desagregado por localidad, tamaño empresarial, organización
jurídica y actividad económica reportadas en abril de 2026
summarytools::descr(df[, 9:11])
Descriptive Statistics
df
N: 39941
Número de empresas canceladas año corrido
----------------- -------------------------------------------
Mean 4.49
Std.Dev 9.68
Min 1.00
Q1 1.00
Median 1.00
Q3 4.00
Max 157.00
MAD 0.00
IQR 3.00
CV 2.15
Skewness 6.59
SE.Skewness 0.03
Kurtosis 61.67
N.Valid 8188.00
N 39941.00
Pct.Valid 20.50
Table: Table continues below
Número de empresas creadas año corrido Número de empresas vigentes
----------------- ---------------------------------------- -----------------------------
Mean 3.23 8.29
Std.Dev 6.30 31.31
Min 1.00 1.00
Q1 1.00 1.00
Median 1.00 2.00
Q3 3.00 5.00
Max 133.00 1795.00
MAD 0.00 1.48
IQR 2.00 4.00
CV 1.95 3.78
Skewness 8.27 17.54
SE.Skewness 0.03 0.01
Kurtosis 103.92 562.23
N.Valid 8614.00 38819.00
N 39941.00 39941.00
Pct.Valid 21.57 97.19
Localidad <- table(df$Localidad)
Localidad <- data.frame(
Categoria = names(Localidad),
Frecuencia = as.vector(Localidad),
Proporcion = round(prop.table(Localidad) * 100, 2)
)
Localidad
Categoria Frecuencia Proporcion.Var1 Proporcion.Freq
1 Antonio Nariño 1220 Antonio Nariño 3.05
2 Barrios Unidos 2399 Barrios Unidos 6.01
3 Bosa 1384 Bosa 3.47
4 Candelaria 878 Candelaria 2.20
5 Chapinero 3667 Chapinero 9.18
6 Ciudad Bolivar 1280 Ciudad Bolivar 3.20
7 Engativa 2739 Engativa 6.86
8 Fontibon 2640 Fontibon 6.61
9 Kennedy 2534 Kennedy 6.34
10 Los Martires 1819 Los Martires 4.55
11 Puente Aranda 2338 Puente Aranda 5.85
12 Rafael Uribe Uribe 1324 Rafael Uribe Uribe 3.31
13 San Cristobal 1032 San Cristobal 2.58
14 Santa Fe 1820 Santa Fe 4.56
15 Sin Localidad 2383 Sin Localidad 5.97
16 Suba 3124 Suba 7.82
17 Teusaquillo 2037 Teusaquillo 5.10
18 Tunjuelito 1078 Tunjuelito 2.70
19 Usaquen 3411 Usaquen 8.54
20 Usme 834 Usme 2.09
Tamaño_Empresarial<- table(df$`Tamaño empresarial`)
Tamaño_Empresarial <- data.frame(
Categoria = names(Tamaño_Empresarial),
Frecuencia = as.vector(Tamaño_Empresarial),
Proporcion = round(prop.table(Tamaño_Empresarial) * 100, 2)
)
Tamaño_Empresarial
Categoria Frecuencia Proporcion.Var1 Proporcion.Freq
1 Grande 1657 Grande 4.15
2 Mediana 2878 Mediana 7.21
3 Microempresa 28651 Microempresa 71.73
4 Pequeña 6669 Pequeña 16.70
5 Sin Información 86 Sin Información 0.22
Actividad_Economica<- table(df$`Rama de actividad económica`)
Actividad_Economica <- data.frame(
Categoria = names(Actividad_Economica),
Frecuencia = as.vector(Actividad_Economica),
Proporcion = round(prop.table(Actividad_Economica) * 100, 2)
)
Actividad_Economica
Categoria Frecuencia Proporcion.Var1 Proporcion.Freq
1 Agropecuaria y minera 1889 Agropecuaria y minera 4.73
2 Comercio 11987 Comercio 30.01
3 Industria 10689 Industria 26.76
4 Otras actividades 261 Otras actividades 0.65
5 Servicios 15115 Servicios 37.84
ggplot(df, aes(x = Localidad)) +
geom_bar(fill = "steelblue") +
labs(title = "Distribución de empresas por localidad",
x = "Localidad",
y = "Número de empresas") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
ggplot(df, aes(x = `Tamaño empresarial`, fill = `Sexo del representante legal`)) +
geom_bar(position = "fill") +
labs(title = "Proporción de género por tamaño empresarial",
x = "Tamaño empresarial",
y = "Proporción") +
scale_fill_brewer(palette = "Set2") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))