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/practica11A"
#Ubicar carpeta en la pestaña de Session > Set working > Choose > practica11A

3 Simulación de datos

3.1 Código para simular la Ley

Ilustración de la Ley

set.seed(123)

anios <- 1:30

capital_constante <- 100 * (1.05)^anios

capital_variable <- 100 * (0.99)^anios

tasa_explotacion <- 1.2

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          105.0000         99.00000  118.8000     0.5823529 1.060606
## 2    2          110.2500         98.01000  117.6120     0.5647364 1.124885
## 3    3          115.7625         97.02990  116.4359     0.5471806 1.193060
## 4    4          121.5506         96.05960  115.2715     0.5297156 1.265367
## 5    5          127.6282         95.09900  114.1188     0.5123704 1.342056
## 6    6          134.0096         94.14801  112.9776     0.4951736 1.423392

4 Resumen de datos

4.1 Estadística Descriptiva

resumen <- summary(datos)
print(resumen)
##       Anio       Capital_Constante Capital_Variable   Plusvalor     
##  Min.   : 1.00   Min.   :105.0     Min.   :73.97    Min.   : 88.76  
##  1st Qu.: 8.25   1st Qu.:149.6     1st Qu.:79.56    1st Qu.: 95.47  
##  Median :15.50   Median :213.1     Median :85.58    Median :102.69  
##  Mean   :15.50   Mean   :232.5     Mean   :85.90    Mean   :103.08  
##  3rd Qu.:22.75   3rd Qu.:303.5     3rd Qu.:92.04    3rd Qu.:110.45  
##  Max.   :30.00   Max.   :432.2     Max.   :99.00    Max.   :118.80  
##  Tasa_Ganancia         COC       
##  Min.   :0.1754   Min.   :1.061  
##  1st Qu.:0.2493   1st Qu.:1.625  
##  Median :0.3439   Median :2.490  
##  Mean   :0.3568   Mean   :2.825  
##  3rd Qu.:0.4572   3rd Qu.:3.815  
##  Max.   :0.5824   Max.   :5.843

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,
             "simulacionA_marx.xlsx",
             overwrite = TRUE)