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.
# 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
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
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
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"))
plot(datos$COC,
datos$Tasa_Ganancia,
main = "COC y tasa de ganancia",
xlab = "COC",
ylab = "Tasa de ganancia",
pch = 19,
col = "darkgreen")
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)