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/practica11A"
#Ubicar carpeta en la pestaña de Session > Set working > Choose > practica11A
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
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
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,
"simulacionA_marx.xlsx",
overwrite = TRUE)