Carregando WebR (~10s na primeira vez)...
Edite o código e clique "Executar"
R
# Imposto e Incidência Tributária # Cap. 1 — Quem realmente paga o imposto? # Parâmetros (altere!) a_d <- 100 # intercepto da demanda b_d <- 2 # inclinação da demanda (Qd = a_d - b_d*P) a_s <- 10 # intercepto da oferta b_s <- 3 # inclinação da oferta (Qs = a_s + b_s*P) taxa <- 10 # imposto por unidade (R$) # Equilíbrio SEM imposto P0 <- (a_d - a_s) / (b_d + b_s) Q0 <- a_d - b_d * P0 # Equilíbrio COM imposto (sobre o vendedor: S' desloca para cima) # Novo equilíbrio: Qd = Qs => a_d - b_d*Pc = a_s + b_s*(Pc - t) Pc <- (a_d - a_s + b_s * taxa) / (b_d + b_s) # preço consumidor Pp <- Pc - taxa # preço produtor Q1 <- a_d - b_d * Pc # Incidência inc_cons <- Pc - P0 inc_prod <- P0 - Pp DWL <- 0.5 * taxa * (Q0 - Q1) cat("=== Sem Imposto ===\n") cat(sprintf(" P* = R$ %.2f Q* = %.1f\n\n", P0, Q0)) cat("=== Com Imposto de R$ %.0f ===\n", taxa) cat(sprintf(" P_consumidor = R$ %.2f\n", Pc)) cat(sprintf(" P_produtor = R$ %.2f\n", Pp)) cat(sprintf(" Quantidade = %.1f\n\n", Q1)) cat(sprintf(" Consumidor paga: R$ %.2f do imposto (%.0f%%)\n", inc_cons, 100*inc_cons/taxa)) cat(sprintf(" Produtor paga: R$ %.2f do imposto (%.0f%%)\n", inc_prod, 100*inc_prod/taxa)) cat(sprintf(" Receita gov.: R$ %.1f\n", taxa * Q1)) cat(sprintf(" Peso morto (DWL) = R$ %.1f\n", DWL)) # Gráfico P_range <- seq(0, 50, length.out = 300) Qd <- a_d - b_d * P_range Qs <- a_s + b_s * P_range Qs_tax <- a_s + b_s * (P_range - taxa) par(mar = c(4, 4, 3, 1)) plot(Qd, P_range, type = "l", col = "#C8102E", lwd = 2, xlim = c(0, max(a_d, a_s + b_s*50)*0.6), ylim = c(0, 45), xlab = "Quantidade (Q)", ylab = "Preço (P)", main = "Incidência Tributária e Peso Morto") lines(Qs, P_range, col = "#2a7f2a", lwd = 2) lines(Qs_tax, P_range, col = "#2a7f2a", lwd = 2, lty = 2) # Peso morto (triângulo) polygon(c(Q1, Q0, Q1), c(Pc, P0, Pp), col = rgb(1, 0, 0, 0.15), border = NA) # Receita do governo (retângulo) rect(0, Pp, Q1, Pc, col = rgb(0, 0, 1, 0.08), border = "steelblue", lty = 2) points(Q0, P0, pch = 19, col = "#333", cex = 1.5) points(Q1, Pc, pch = 17, col = "#C8102E", cex = 1.3) points(Q1, Pp, pch = 17, col = "#2a7f2a", cex = 1.3) legend("topright", legend = c("Demanda", "Oferta", "Oferta + imposto", "DWL", "Receita gov."), col = c("#C8102E","#2a7f2a","#2a7f2a","red","steelblue"), lwd = c(2,2,2,NA,NA), lty = c(1,1,2,NA,NA), fill = c(NA,NA,NA,rgb(1,0,0,0.15),rgb(0,0,1,0.08)), border = c(NA,NA,NA,"red","steelblue"), cex = 0.75, bg = "white") text(Q0+2, P0+1, sprintf("E0 (%.0f, %.1f)", Q0, P0), cex=0.8, font=2)
Executar (R)
Restaurar código original
Saída do R
Aguardando execução...
WebR
executa R no navegador. Altere as inclinações b_d e b_s: quem paga mais do imposto, o lado mais elástico ou o mais inelástico? E se b_d = b_s?