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 45 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 531113 28.4    1187272 63.5   660385 35.3
## Vcells 966657  7.4    8388608 64.0  1769430 13.5
# Muestra en qué carpeta estás trabajando
getwd()
## [1] "C:/Users/brand/iCloudDrive/DESK2025SAID/CLASES 20262/LABORATORIO 4/practica12_examenfinal/markdawnLeyDecrecienteB"
#Ubicar carpeta en la pestaña de Session > Set working > Choose > practica12B

3 Simulación de datos

3.1 Código para simular la Ley

Ilustración de la Ley

set.seed(321)

anios <- 1:45

capital_constante <- 100 * (1.05)^anios

capital_variable <- 100 * (0.995)^anios

tasa_explotacion <- 1.30

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.50000  129.3500     0.6325183 1.055276
## 2    2          110.2500         99.00250  128.7032     0.6150619 1.113608
## 3    3          115.7625         98.50749  128.0597     0.5976560 1.175164
## 4    4          121.5506         98.01495  127.4194     0.5803252 1.240123
## 5    5          127.6282         97.52488  126.7823     0.5630941 1.308673
## 6    6          134.0096         97.03725  126.1484     0.5459864 1.381012

4 Resumen de datos

4.1 Estadística Descriptiva

resumen <- summary(datos)
print(resumen)
##       Anio    Capital_Constante Capital_Variable   Plusvalor    
##  Min.   : 1   Min.   :105.0     Min.   :79.81    Min.   :103.7  
##  1st Qu.:12   1st Qu.:179.6     1st Qu.:84.33    1st Qu.:109.6  
##  Median :23   Median :307.2     Median :89.11    Median :115.8  
##  Mean   :23   Mean   :372.6     Mean   :89.30    Mean   :116.1  
##  3rd Qu.:34   3rd Qu.:525.3     3rd Qu.:94.16    3rd Qu.:122.4  
##  Max.   :45   Max.   :898.5     Max.   :99.50    Max.   :129.3  
##  Tasa_Ganancia         COC        
##  Min.   :0.1060   Min.   : 1.055  
##  1st Qu.:0.1798   1st Qu.: 1.907  
##  Median :0.2923   Median : 3.447  
##  Mean   :0.3205   Mean   : 4.352  
##  3rd Qu.:0.4472   3rd Qu.: 6.229  
##  Max.   :0.6325   Max.   :11.258

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")
## Loading required package: openxlsx
## Warning: package 'openxlsx' was built under R version 4.3.3
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,
             "practica12B.xlsx",
             overwrite = TRUE)