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.
# 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
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
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
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)
boxplot(datos$COC,
datos$Tasa_Ganancia,
names = c("COC", "Tasa Ganancia"),
col = c("lightblue", "pink"))
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)