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