Uncategorized

Momento R do Dia – Penn World Tables 8.0 e a Propensão Média a Consumir de cada país

Fazia tempo, heim? Mas hoje um aluno me perguntou sobre algo que falei no início do semestre (é…alguém não prestou atenção…): consumo. Mais especificamente, sobre a propensão média a consumir.

Eu acredito que o bom aluno não tem apenas que perguntar, mas também pesquisar e pensar nas implicações do que pergunta. Para ajudar, vou fazer um cálculo simples e rápido que ilustra dois pacotes do R, um que apenas tem a base de dados (“pwt8”) e o outro que aplica uma função para calcular a propensão média a consumir média para cada país.

Explico: a base de dados tem 127 países e cada qual tem variáveis para o período 1950-2011. Nem todas as variáveis estão, entretanto, registradas, para todos os países. Assim, por exemplo, a propensão média a consumir que calculo para o Brasil a seguir é a média das propensões médias deste período (uma propensão média “média” a consumir, por assim dizer). Já para Angola, que não tem os dados para todo o período, eu também calculo esta mesma variável, mas excluindo os períodos em que não há valores para uma, outra ou ambas as variáveis.

O código abaixo possui as explicações mais ou menos detalhadas.

# como sempre...você só instala uma vez. Ou seja, depois não precisa mais destas duas linhas de
# comando. O pacote plyr tem o famoso conjunto de comandos "apply" (lapply, sapply, etc).

install.packages("pwt8")
install.packages("plyr")

# carregamos o pacote, carregamos a base de dados do pacote.
library(pwt8)
data("pwt8.0")
names(pwt8.0)
# como exemplo, eis o pib per capita calculado para todos os anos, todos os países
pwt8.0$cap <- pwt8.0$rgdpe / pwt8.0$pop

# agora calculo a propensao media a conumir. Primeiro, calculamos o consumo, pela multiplicacao
# da participação do consumo sobre o PIB vezes o PIB. Veja a documentação de pwt8 para ver
# a definição de csh_c e cgdpe. Note que, na primeira linha, gero o consumo e, em seguida,
# na segunda linha, a Propensão Média a Consumir (C/Y) para cada ano. 

pwt8.0$cons<-(pwt8.0$csh_c)*pwt8.0$cgdpe
pwt8.0$pmec<-pwt8.0$cons / pwt8.0$cgdpe

# agora vamos criar um data.frame com a base e vamos chamá-la de "dta.
# Para ter uma idéia, usamos "head" para ver as primeiras linhas do arquivo.

dta <- data.frame(pwt8.0)
head(dta)

# tudo parece ok. Repare que, como indexei "cons" e "pmec" pela pwt8.0 lá em cima, agora elas
# fazem parte da base de dados pwt8.0 que, nestes comandos acima, transformei em uma estrutura
# de data.frame (não precisava, mas é útil fazê-lo para outras coisas...).
# Agora carregamos os comandos de plyr

library(plyr)

# vamos usar "ddply" (leia a documentação do pacote ou veja as dicas mais adiante no post)
# repare que o comando utiliza a base "dta", organiza por código de país ("isocode"),
# pede um sumário, por país da variável "pmec_media" que é a media das pmec calculadas
# anteriormente, ignorando os anos em que houve algum dado faltante ("na.rm=TRUE"). 

ddply(dta, ~ isocode, summarize, pmec_media = mean(pmec, na.rm=TRUE))

Agora, vejamos o resultado. Para ver mais detalhes, veja a documentação de pwt8 e plyr. Outras dicas são esta e esta.

isocode pmec_media
1 AGO 0.2698527
2 ALB 0.5749997
3 ARG 0.7098281
4 ARM 0.7371243
5 ATG 0.5383594
6 AUS 0.5989834
7 AUT 0.6242973
8 AZE 0.4728226
9 BDI 0.8484496
10 BEL 0.5939900
11 BEN 0.6626455
12 BFA 0.7358716
13 BGD 0.8368961
14 BGR 0.5891358
15 BHR 0.5313741
16 BHS 0.6305308
17 BIH 0.8930009
18 BLR 0.5099687
19 BLZ 0.7110097
20 BMU 0.9430771
21 BOL 0.6384951
22 BRA 0.6557681
23 BRB 0.9176295
24 BRN 0.1783046
25 BTN 0.4300709
26 BWA 0.5208991
27 CAF 0.6800754
28 CAN 0.6121375
29 CHE 0.5868197
30 CHL 0.6855206
31 CHN 0.5494199
32 CIV 0.7488742
33 CMR 0.7527335
34 COD 0.6749305
35 COG 0.4382671
36 COL 0.7529843
37 COM 0.5984154
38 CPV 0.6978079
39 CRI 0.8358405
40 CYP 0.5574062
41 CZE 0.5002645
42 DEU 0.5809886
43 DJI 0.6269397
44 DMA 0.6015103
45 DNK 0.5624745
46 DOM 0.7318125
47 ECU 0.6132193
48 EGY 0.6695550
49 ESP 0.6522298
50 EST 0.5297069
51 ETH 0.7811232
52 FIN 0.5024147
53 FJI 0.6368589
54 FRA 0.5974393
55 GAB 0.4527526
56 GBR 0.6328932
57 GEO 0.7129032
58 GHA 0.7278015
59 GIN 0.7263120
60 GMB 0.8160562
61 GNB 0.8856748
62 GNQ 0.4649407
63 GRC 0.6865936
64 GRD 0.7845137
65 GTM 0.8610200
66 HKG 0.5691085
67 HND 0.7746579
68 HRV 0.5953630
69 HUN 0.5360931
70 IDN 0.5866937
71 IND 0.7005359
72 IRL 0.6487952
73 IRN 0.4866217
74 IRQ 0.3241603
75 ISL 0.5204941
76 ISR 0.5020997
77 ITA 0.5891751
78 JAM 0.7392437
79 JOR 0.7085971
80 JPN 0.5370400
81 KAZ 0.5876354
82 KEN 0.8001836
83 KGZ 0.6266033
84 KHM 0.8267202
85 KNA 0.6442140
86 KOR 0.5968393
87 KWT 0.2970611
88 LAO 0.5390379
89 LBN 0.8995980
90 LBR 0.8636384
91 LCA 0.8534209
92 LKA 0.6632201
93 LSO 1.2219911
94 LTU 0.6099957
95 LUX 0.5703499
96 LVA 0.5631248
97 MAC 0.3930121
98 MAR 0.6934141
99 MDA 0.7019827
100 MDG 0.8074133
101 MDV 0.1832236
102 MEX 0.7255086
103 MKD 0.7062246
104 MLI 0.7376391
105 MLT 1.3556602
106 MNE 0.5621934
107 MNG 0.5627013
108 MOZ 0.9719093
109 MRT 0.6465644
110 MUS 0.7040063
111 MWI 0.7647157
112 MYS 0.5356852
113 NAM 0.6724800
114 NER 0.5999834
115 NGA 0.6010883
116 NLD 0.5312290
117 NOR 0.4914107
118 NPL 0.7126890
119 NZL 0.6175504
120 OMN 0.3364292
121 PAK 0.7486567
122 PAN 0.6806284
123 PER 0.7052688
124 PHL 0.6864944
125 POL 0.5937320
126 PRT 0.6926333
127 PRY 0.6934128
128 QAT 0.2613939
129 ROU 0.5638809
130 RUS 0.4876037
131 RWA 0.7233076
132 SAU 0.3245511
133 SDN 0.9571723
134 SEN 0.7633639
135 SGP 0.4474048
136 SLE 0.8428216
137 SLV 1.2248291
138 SRB 0.6809770
139 STP 1.1072268
140 SUR 0.6335978
141 SVK 0.5602101
142 SVN 0.5883688
143 SWE 0.5505727
144 SWZ 0.7613371
145 SYR 0.6650626
146 TCD 0.2787636
147 TGO 0.7384517
148 THA 0.5818592
149 TJK 0.5880398
150 TKM 0.3464478
151 TTO 0.6275485
152 TUN 0.6485752
153 TUR 0.6332986
154 TWN 0.5346673
155 TZA 0.4372538
156 UGA 0.6687535
157 UKR 0.5639214
158 URY 0.7252260
159 USA 0.6825835
160 UZB 0.3869788
161 VCT 0.7430303
162 VEN 0.4057366
163 VNM 0.7126157
164 YEM 0.6690849
165 ZAF 0.6422902
166 ZMB 0.7610378
167 ZWE 0.6292824

Bonito, heim? Repare que um ou dois países deveriam ter seus dados analisados com cautela e não é difícil entender o porquê.

Uncategorized

Inferno macroeconômico

Sempre há quem, em sala, pergunte sobre como interpretar a realidade brasileira com um pobre e inocente IS-LM. Bem, eu simplifiquei um bocado e elaborei esta “questão” que, em uma prova, poderia levar horas, horas, horas e, claro, horas para um aluno resolver. Aqui está.

Claro, tem também esta outra prova, que encontrei escondida, dobrada, em uma etiqueta de uma blusa…(clique na bonequinha para ampliar).prova_escravo