1 Introducción

1.1 Descripción

La ley tendencial decreciente de la tasa de ganancia propuesta por Carlos 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.


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 543658 29.1    1210078 64.7   686460 36.7
## Vcells 993382  7.6    8388608 64.0  1876162 14.4
# Muestra en qué carpeta estás trabajando
getwd()
## [1] "C:/Users/brand/Desktop/iCloudDrive/DESK2025SAID/CLASES 20262/LABORATORIO 4/practica11B"
#Ubicar carpeta en la pestaña de Session > Set working > Choose > practica11B

3 Simulación de datos

3.1 Código para simular la Ley

Ilustración de la Ley

set.seed(321)

anios <- 1:30

capital_constante <- 100 * (1.07)^anios

capital_variable <- 100 * (0.995)^anios

tasa_explotacion <- 1.5

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          107.0000         99.50000  149.2500     0.7227603 1.075377
## 2    2          114.4900         99.00250  148.5037     0.6955924 1.156435
## 3    3          122.5043         98.50749  147.7612     0.6685672 1.243604
## 4    4          131.0796         98.01495  147.0224     0.6417544 1.337343
## 5    5          140.2552         97.52488  146.2873     0.6152211 1.438148
## 6    6          150.0730         97.03725  145.5559     0.5890320 1.546551

4 Resumen de datos

4.1 Estadística Descriptiva

resumen <- summary(datos)
print(resumen)
##       Anio       Capital_Constante Capital_Variable   Plusvalor    
##  Min.   : 1.00   Min.   :107.0     Min.   :86.04    Min.   :129.1  
##  1st Qu.: 8.25   1st Qu.:174.8     1st Qu.:89.22    1st Qu.:133.8  
##  Median :15.50   Median :285.6     Median :92.53    Median :138.8  
##  Mean   :15.50   Mean   :336.9     Mean   :92.61    Mean   :138.9  
##  3rd Qu.:22.75   3rd Qu.:466.3     3rd Qu.:95.95    3rd Qu.:143.9  
##  Max.   :30.00   Max.   :761.2     Max.   :99.50    Max.   :149.2  
##  Tasa_Ganancia         COC       
##  Min.   :0.1523   Min.   :1.075  
##  1st Qu.:0.2411   1st Qu.:1.822  
##  Median :0.3673   Median :3.087  
##  Mean   :0.3933   Mean   :3.732  
##  3rd Qu.:0.5317   3rd Qu.:5.227  
##  Max.   :0.7228   Max.   :8.848

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"))

5.3 Dispersión

plot(datos$COC,
     datos$Tasa_Ganancia,
     main = "COC y tasa de ganancia",
     xlab = "COC",
     ylab = "Tasa de ganancia",
     pch = 19,
     col = "darkgreen")


6 Exportar datos a excel

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

# Convertir resumen a data frame
resumen_df <- as.data.frame(resumen)

# Crear libro de Excel
wb <- createWorkbook()

# Hoja de datos
addWorksheet(wb, "Simulacion")

# Hoja de estadística descriptiva
addWorksheet(wb, "Resumen")

# Escribir datos
writeData(wb, "Simulacion", datos)

# Escribir resumen
writeData(wb, "Resumen", resumen_df)

# Guardar archivo
saveWorkbook(wb,
             "simulacionB_marx.xlsx",
             overwrite = TRUE)