1 Introducción

1.1 Descripción

La ley tendencial decreciente de la tasa de ganancia propuesta por Karl Marx plantea que el aumento progresivo del capital constante respecto al capital variable genera una tendencia a la disminución de la tasa de ganancia.

En esta práctica se utilizará R para simular el comportamiento de variables económicas fundamentales como capital constante, capital variable, plusvalor, composición orgánica del capital y tasa de ganancia.

El ejercicio se desarrollará a partir de una simulación de 40 años, con el objetivo de observar la evolución de la composición orgánica del capital y su relación con la tasa de ganancia.


2 Preparar el ambiente de trabajo

2.1 Limpiar el entorno

# Borra todos los objetos del entorno
rm(list = ls())
# Libera memoria
gc()
##          used (Mb) gc trigger (Mb) max used (Mb)
## Ncells 543617 29.1    1209961 64.7   686460 36.7
## Vcells 993240  7.6    8388608 64.0  1876167 14.4
# Muestra en qué carpeta estás trabajando
getwd()
## [1] "C:/Users/brand/Desktop/iCloudDrive/DESK2025SAID/CLASES 20262/LABORATORIO 4/practica12_examenfinal/markdawnLeyDecrecienteA"
#Ubicar carpeta en la pestaña de Session > Set working > Choose > practica12A

3 Simulación de datos

3.1 Código para simular la Ley

Ilustración de la Ley

set.seed(123)

anios <- 1:40

capital_constante <- 100 * (1.045)^anios

capital_variable <- 100 * (0.993)^anios

tasa_explotacion <- 1.25

plusvalor <- tasa_explotacion * capital_variable

tasa_ganancia <- plusvalor / (capital_constante + capital_variable)

COC <- capital_constante / capital_variable

datos <- data.frame(
  Anio = anios,
  Capital_Constante = capital_constante,
  Capital_Variable = capital_variable,
  Plusvalor = plusvalor,
  Tasa_Ganancia = tasa_ganancia,
  COC = COC
)

head(datos)
##   Anio Capital_Constante Capital_Variable Plusvalor Tasa_Ganancia      COC
## 1    1          104.5000         99.30000  124.1250     0.6090530 1.052367
## 2    2          109.2025         98.60490  123.2561     0.5931267 1.107475
## 3    3          114.1166         97.91467  122.3933     0.5772419 1.165470
## 4    4          119.2519         97.22926  121.5366     0.5614188 1.226502
## 5    5          124.6182         96.54866  120.6858     0.5456777 1.290729
## 6    6          130.2260         95.87282  119.8410     0.5300382 1.358320

4 Resumen de datos

4.1 Estadística Descriptiva

resumen <- summary(datos)
print(resumen)
##       Anio       Capital_Constante Capital_Variable   Plusvalor     
##  Min.   : 1.00   Min.   :104.5     Min.   :75.50    Min.   : 94.38  
##  1st Qu.:10.75   1st Qu.:160.5     1st Qu.:80.86    1st Qu.:101.07  
##  Median :20.50   Median :246.6     Median :86.59    Median :108.24  
##  Mean   :20.50   Mean   :279.6     Mean   :86.87    Mean   :108.59  
##  3rd Qu.:30.25   3rd Qu.:378.7     3rd Qu.:92.73    3rd Qu.:115.91  
##  Max.   :40.00   Max.   :581.6     Max.   :99.30    Max.   :124.12  
##  Tasa_Ganancia         COC       
##  Min.   :0.1436   Min.   :1.052  
##  1st Qu.:0.2200   1st Qu.:1.731  
##  Median :0.3249   Median :2.848  
##  Mean   :0.3437   Mean   :3.368  
##  3rd Qu.:0.4577   3rd Qu.:4.684  
##  Max.   :0.6091   Max.   :7.703

5 Visualización de datos

5.1 Gráfica principal

plot(datos$Anio, datos$COC,
     type = "l",
     col = "blue",
     lwd = 2,
     ylim = c(0, max(datos$COC)),
     xlab = "Año",
     ylab = "COC")

lines(datos$Anio,
      datos$Tasa_Ganancia * 10,
      col = "red",
      lwd = 2)

legend("topleft",
       legend = c("COC", "Tasa de Ganancia x10"),
       col = c("blue", "red"),
       lwd = 2)

5.2 Diagramas de Caja Comparativos

boxplot(datos$COC,
        datos$Tasa_Ganancia,
        names = c("COC", "Tasa Ganancia"),
        col = c("lightblue", "pink"))


6 Exportar datos a excel

if (!require(openxlsx)) install.packages("openxlsx")
## Cargando paquete requerido: openxlsx
library(openxlsx)


resumen_df <- as.data.frame(resumen)
wb <- createWorkbook()
addWorksheet(wb, "Simulacion")
addWorksheet(wb, "Resumen")
writeData(wb, "Simulacion", datos)
writeData(wb, "Resumen", resumen_df)
saveWorkbook(wb,
             "practica12A.xlsx",
             overwrite = TRUE)