library(tidyverse)
## ── Attaching packages ────────────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 3.0.0 ✔ purrr 0.2.5
## ✔ tibble 1.4.2 ✔ dplyr 0.7.6
## ✔ tidyr 0.8.1 ✔ stringr 1.3.1
## ✔ readr 1.1.1 ✔ forcats 0.3.0
## ── Conflicts ───────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
#leaps
eleicoes_data <- readr::read_csv(
'eleicoes_2006_e_2010.csv',
local=readr::locale("br"),
col_types = cols(
ano = col_integer(),
sequencial_candidato = col_character(),
quantidade_doacoes = col_integer(),
quantidade_doadores = col_integer(),
total_receita = col_double(),
media_receita = col_double(),
recursos_de_outros_candidatos.comites = col_double(),
recursos_de_pessoas_fisicas = col_double(),
recursos_de_pessoas_juridicas = col_double(),
recursos_proprios = col_double(),
`recursos_de_partido_politico` = col_double(),
quantidade_despesas = col_integer(),
quantidade_fornecedores = col_integer(),
total_despesa = col_double(),
media_despesa = col_double(),
votos = col_integer(),
.default = col_character()))
data2006 <- read.csv("eleicoes_2006.csv")
data2010 <- read.csv("eleicoes_2010.csv")
QUESTÃO 1) Um modelo de regressão múltipla com todas as variáveis é plausível para explicar a variação em y (número de votos) em 2006? Mesma pergunta para 2010.
Para responder essa questão, transformaremos as variáveis categóricas (não numéricas) em fatores e veremos como se comporta o modelo, com essas variáveis e o restante, para explicar a variação dos votos.
data2006$uf <- as.factor(data2006$uf)
data2006$partido <- as.factor(data2006$partido)
data2006$sexo <- as.factor(data2006$sexo)
data2006$cargo <- as.factor(data2006$cargo)
data2006$estado_civil <- as.factor(data2006$estado_civil)
data2006$ocupacao <- as.factor(data2006$ocupacao)
data2010$uf <- as.factor(data2010$uf)
data2010$partido <- as.factor(data2010$partido)
data2010$sexo <- as.factor(data2010$sexo)
data2010$cargo <- as.factor(data2010$cargo)
data2010$estado_civil <- as.factor(data2010$estado_civil)
data2010$ocupacao <- as.factor(data2010$ocupacao)
#voto.model2006 <- lm(formula = votos ~ . , data2006 %>% select(-cargo), na.action = na.omit)
#voto.model2010 <- lm(formula = votos ~ . , data2010 %>% select(-cargo), na.action = na.omit)
#summary(voto.model2006)
#summary(voto.model2010)
Tentando rodar o modelo, pode-se observar que utilizar todas as variáveis não é plausível por, pelo menos, 3 motivos:
Limitação computacional do computador - rodar todas as variáveis dos dados demanada uma grande quantidade de memória que não pôde ser suportado por computadores (como o meu pessoal) que possuem memória razoável. A seguinte mensagem de erro foi lançada: “Erro: não é possível alocar vetor de tamanho 364.0 Mb”.
Modelo não roda com variáveis que possuem apenas um nível - as variáveis cargo e ano, por serem de apenas um nível, não puderam ser inseridas no modelo para explicar a variação da quantidade de votos, pois são variável que não possuem variância alguma, visto que seus valores são contantes.
R² e R ajustado - valores (R² = 1 e R ajusatdo = NaN) muito diferentes indicando que a escolha das variáveis do modelo não foram boas e não servem para explicar os votos.
QUESTÃO 2) Compare as regressões construídas para 2006 e 2010. Quais as diferenças/semelhanças percebidas?
Construindo o modelo, o total de despesa e o total de receita indicam o nível de gasto de campanha de cada candidato são variáveis que parecem serem boas para explicar a variação de votos, visto que, historicamente, campanhas mais caras redundam em campanhas vencedoras. Vamos observar os modelos, para 2006 e 2010.
Observando primeiro o modelo para 2006:
voto.model2006 <- lm(formula = votos ~ data2006$total_despesa + data2006$total_receita, data2006 %>% select(-cargo), na.action = na.omit)
summary(voto.model2006)
##
## Call:
## lm(formula = votos ~ data2006$total_despesa + data2006$total_receita,
## data = data2006 %>% select(-cargo), na.action = na.omit)
##
## Residuals:
## Min 1Q Median 3Q Max
## -282157 -9639 -8448 -889 657223
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9884.66046 635.49735 15.554 < 2e-16 ***
## data2006$total_despesa 0.18426 0.01315 14.014 < 2e-16 ***
## data2006$total_receita -0.05202 0.01153 -4.512 6.65e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 34160 on 3433 degrees of freedom
## Multiple R-squared: 0.436, Adjusted R-squared: 0.4357
## F-statistic: 1327 on 2 and 3433 DF, p-value: < 2.2e-16
ggplot(voto.model2006, aes(x = predict(voto.model2006), y = residuals(voto.model2006))) + geom_point()
Analisando o plot dos resíduos vemos que os resíduos se encontram aglomerados, próximos de zero, com exceção de alguns poucos, mostrando que há pouca diferença entre o modelo original da variação dos votos e o modelo da variação dos votos sendo explicados por nossas variáveis.
Além disso, observando o R² e o R ajustado vemos que não há diferença entre os valores dos mesmos (0.436 e 0,4357, respectivamente), indicando que as variáveis escolhidas explicam bem a variação dos votos. Vemos também que o valor do RSE não é um valor alto.
Analisando agora para variáveis menos explicativas (sexo, grau, estado, sequencial do candidato, estado civil), observados no plot de resíduos que os mesmos se encontram com razoável distância a zero e com certo espalhamento, indicando razoável grau de erro. O valor do RSE se apresenta alto e os valores de R² e R ajustado com uma considerável diferença (0.075 e 0.064, respectivamente), indicando que as variáveis do modelo explicam mal os votos.
voto.model2006Ruim <- lm(formula = votos ~ data2006$sexo + data2006$grau + data2006$uf + data2006$sequencial_candidato + data2006$estado_civil, data2006 %>% select(-cargo), na.action = na.omit)
summary(voto.model2006Ruim)
##
## Call:
## lm(formula = votos ~ data2006$sexo + data2006$grau + data2006$uf +
## data2006$sequencial_candidato + data2006$estado_civil, data = data2006 %>%
## select(-cargo), na.action = na.omit)
##
## Residuals:
## Min 1Q Median 3Q Max
## -50021 -22368 -11485 4537 714881
##
## Coefficients:
## Estimate Std. Error
## (Intercept) 40268.291 16192.766
## data2006$sexoMASCULINO 8380.413 2371.468
## data2006$grauENSINO FUNDAMENTAL INCOMPLETO -1916.544 5486.710
## data2006$grauENSINO MÉDIO COMPLETO 5540.037 3603.529
## data2006$grauENSINO MÉDIO INCOMPLETO -122.849 5727.635
## data2006$grauLÊ E ESCREVE 4805.913 18271.048
## data2006$grauSUPERIOR COMPLETO 21287.328 3304.370
## data2006$grauSUPERIOR INCOMPLETO 10932.768 3916.052
## data2006$ufAL 11442.206 9466.381
## data2006$ufAM 15213.827 9677.884
## data2006$ufAP -3108.474 9669.575
## data2006$ufBA 31142.976 8351.618
## data2006$ufCE 28841.905 8799.821
## data2006$ufDF 6623.581 9023.608
## data2006$ufES 14086.397 9186.608
## data2006$ufGO 17328.517 8901.448
## data2006$ufMA 12317.670 9140.283
## data2006$ufMG 18445.172 7839.424
## data2006$ufMS 9926.885 9406.246
## data2006$ufMT 13387.118 10025.688
## data2006$ufPA 19847.277 8694.539
## data2006$ufPB 17764.929 9434.150
## data2006$ufPE 26995.756 8588.926
## data2006$ufPI 15906.802 9560.013
## data2006$ufPR 15046.888 8149.620
## data2006$ufRJ 12680.223 7890.934
## data2006$ufRN 31628.759 10768.824
## data2006$ufRO 3141.740 9449.766
## data2006$ufRR -4191.185 9482.744
## data2006$ufRS 15966.650 7999.427
## data2006$ufSC 16613.940 8572.649
## data2006$ufSE 18730.418 10775.152
## data2006$ufSP 19568.437 7861.650
## data2006$ufTO 3253.478 9358.059
## data2006$sequencial_candidato -5.007 1.358
## data2006$estado_civilDIVORCIADO(A) -5749.926 2569.264
## data2006$estado_civilSEPARADO(A) JUDICIALMENTE -1913.572 3546.677
## data2006$estado_civilSOLTEIRO(A) -7716.287 2036.042
## data2006$estado_civilVIÚVO(A) -3818.145 6136.445
## t value Pr(>|t|)
## (Intercept) 2.487 0.012937 *
## data2006$sexoMASCULINO 3.534 0.000415 ***
## data2006$grauENSINO FUNDAMENTAL INCOMPLETO -0.349 0.726881
## data2006$grauENSINO MÉDIO COMPLETO 1.537 0.124290
## data2006$grauENSINO MÉDIO INCOMPLETO -0.021 0.982889
## data2006$grauLÊ E ESCREVE 0.263 0.792540
## data2006$grauSUPERIOR COMPLETO 6.442 1.34e-10 ***
## data2006$grauSUPERIOR INCOMPLETO 2.792 0.005271 **
## data2006$ufAL 1.209 0.226854
## data2006$ufAM 1.572 0.116039
## data2006$ufAP -0.321 0.747874
## data2006$ufBA 3.729 0.000195 ***
## data2006$ufCE 3.278 0.001058 **
## data2006$ufDF 0.734 0.462982
## data2006$ufES 1.533 0.125280
## data2006$ufGO 1.947 0.051652 .
## data2006$ufMA 1.348 0.177869
## data2006$ufMG 2.353 0.018686 *
## data2006$ufMS 1.055 0.291340
## data2006$ufMT 1.335 0.181874
## data2006$ufPA 2.283 0.022508 *
## data2006$ufPB 1.883 0.059780 .
## data2006$ufPE 3.143 0.001686 **
## data2006$ufPI 1.664 0.096227 .
## data2006$ufPR 1.846 0.064931 .
## data2006$ufRJ 1.607 0.108161
## data2006$ufRN 2.937 0.003336 **
## data2006$ufRO 0.332 0.739557
## data2006$ufRR -0.442 0.658532
## data2006$ufRS 1.996 0.046016 *
## data2006$ufSC 1.938 0.052704 .
## data2006$ufSE 1.738 0.082249 .
## data2006$ufSP 2.489 0.012854 *
## data2006$ufTO 0.348 0.728113
## data2006$sequencial_candidato -3.687 0.000230 ***
## data2006$estado_civilDIVORCIADO(A) -2.238 0.025288 *
## data2006$estado_civilSEPARADO(A) JUDICIALMENTE -0.540 0.589550
## data2006$estado_civilSOLTEIRO(A) -3.790 0.000153 ***
## data2006$estado_civilVIÚVO(A) -0.622 0.533847
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 43980 on 3397 degrees of freedom
## Multiple R-squared: 0.07508, Adjusted R-squared: 0.06474
## F-statistic: 7.257 on 38 and 3397 DF, p-value: < 2.2e-16
ggplot(voto.model2006Ruim, aes(x = predict(voto.model2006Ruim), y = residuals(voto.model2006Ruim))) + geom_point()
Observando o modelo para 2010:
voto.model2010 <- lm(formula = votos ~ data2010$total_despesa + data2010$total_receita , data2010 %>% select(-cargo), na.action = na.omit)
summary(voto.model2010)
##
## Call:
## lm(formula = votos ~ data2010$total_despesa + data2010$total_receita,
## data = data2010 %>% select(-cargo), na.action = na.omit)
##
## Residuals:
## Min 1Q Median 3Q Max
## -265288 -8608 -7813 -3348 1303811
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.742e+03 6.517e+02 13.413 <2e-16 ***
## data2010$total_despesa 8.527e-02 8.793e-03 9.697 <2e-16 ***
## data2010$total_receita -1.752e-02 7.716e-03 -2.270 0.0232 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 38210 on 4037 degrees of freedom
## Multiple R-squared: 0.4059, Adjusted R-squared: 0.4056
## F-statistic: 1379 on 2 and 4037 DF, p-value: < 2.2e-16
ggplot(voto.model2010, aes(x = predict(voto.model2010), y = residuals(voto.model2010))) + geom_point()
Assim como para os dados de 2006, analisando o plot dos resíduos vemos que os resíduos se encontram aglomerados, próximos de zero, com exceção de alguns poucos, mostrando que há pouca diferença entre o modelo original da variação dos votos e o modelo da variação dos votos sendo explicados por nossas variáveis. Assim, vemos que nosso modelo explica bem os votos.
Além disso, observando o R² e o R ajustado vemos que não há diferença entre os valores dos mesmos (0.4059 e 0,4056, respectivamente), indicando também que as variáveis escolhidas explicam bem a variação dos votos. Vemos também que o valor do RSE não é um valor alto.
A semelhança de como fizemos para os dados de 2006, para 2010, analisando o modelo agora para variáveis menos explicativas (sexo, grau, estado, sequencial do candidato, estado civil), observa-se no plot de resíduos que os mesmos se encontram com razoável distância a zero e com certo espalhamento, indicando razoável grau de erro. O valor do RSE se apresenta alto e os valores de R² e R ajustado com uma considerável diferença (0.0701 e 0.061, respectivamente), indicando que as variáveis do modelo explicam mal os votos.
voto.model2010Ruim <- lm(formula = votos ~ data2010$sexo + data2010$grau + data2010$uf + data2010$sequencial_candidato + data2010$estado_civil, data2010 %>% select(-cargo), na.action = na.omit)
summary(voto.model2010Ruim)
##
## Call:
## lm(formula = votos ~ data2010$sexo + data2010$grau + data2010$uf +
## data2010$sequencial_candidato + data2010$estado_civil, data = data2010 %>%
## select(-cargo), na.action = na.omit)
##
## Residuals:
## Min 1Q Median 3Q Max
## -75682 -22380 -12126 2642 1297758
##
## Coefficients: (1 not defined because of singularities)
## Estimate Std. Error t value
## (Intercept) -5070 8976 -0.565
## data2010$sexoMASCULINO 6991 2123 3.294
## data2010$grauENSINO FUNDAMENTAL INCOMPLETO -5272 5825 -0.905
## data2010$grauENSINO MÉDIO COMPLETO -1064 3467 -0.307
## data2010$grauENSINO MÉDIO INCOMPLETO -3436 5343 -0.643
## data2010$grauLÊ E ESCREVE 41209 9928 4.151
## data2010$grauSUPERIOR COMPLETO 17428 3208 5.432
## data2010$grauSUPERIOR INCOMPLETO 5802 3798 1.528
## data2010$ufAL 17133 10822 1.583
## data2010$ufAM 23872 11025 2.165
## data2010$ufAP -2230 10316 -0.216
## data2010$ufBA 25203 9006 2.798
## data2010$ufCE 37415 9801 3.817
## data2010$ufDF 7571 9941 0.762
## data2010$ufES 15062 10066 1.496
## data2010$ufGO 20737 9608 2.158
## data2010$ufMA 13454 9312 1.445
## data2010$ufMG 14066 8549 1.645
## data2010$ufMS 11639 10146 1.147
## data2010$ufMT 16104 10374 1.552
## data2010$ufPA 25980 9644 2.694
## data2010$ufPB 16719 10066 1.661
## data2010$ufPE 27528 9372 2.937
## data2010$ufPI 14174 10088 1.405
## data2010$ufPR 14878 8846 1.682
## data2010$ufRJ 6091 8487 0.718
## data2010$ufRN 26884 10920 2.462
## data2010$ufRO 3872 10166 0.381
## data2010$ufRR -4576 10764 -0.425
## data2010$ufRS 19619 8863 2.213
## data2010$ufSC 15083 9205 1.639
## data2010$ufSE 13936 11025 1.264
## data2010$ufSP 12932 8392 1.541
## data2010$ufTO 6498 11340 0.573
## data2010$sequencial_candidato NA NA NA
## data2010$estado_civilDIVORCIADO(A) -4333 2565 -1.689
## data2010$estado_civilSEPARADO(A) JUDICIALMENTE -9581 4135 -2.317
## data2010$estado_civilSOLTEIRO(A) -10649 1925 -5.533
## data2010$estado_civilVIÚVO(A) -9556 5741 -1.665
## Pr(>|t|)
## (Intercept) 0.572183
## data2010$sexoMASCULINO 0.000998 ***
## data2010$grauENSINO FUNDAMENTAL INCOMPLETO 0.365538
## data2010$grauENSINO MÉDIO COMPLETO 0.759077
## data2010$grauENSINO MÉDIO INCOMPLETO 0.520182
## data2010$grauLÊ E ESCREVE 3.38e-05 ***
## data2010$grauSUPERIOR COMPLETO 5.90e-08 ***
## data2010$grauSUPERIOR INCOMPLETO 0.126653
## data2010$ufAL 0.113450
## data2010$ufAM 0.030422 *
## data2010$ufAP 0.828862
## data2010$ufBA 0.005159 **
## data2010$ufCE 0.000137 ***
## data2010$ufDF 0.446336
## data2010$ufES 0.134650
## data2010$ufGO 0.030964 *
## data2010$ufMA 0.148583
## data2010$ufMG 0.099990 .
## data2010$ufMS 0.251385
## data2010$ufMT 0.120652
## data2010$ufPA 0.007095 **
## data2010$ufPB 0.096795 .
## data2010$ufPE 0.003330 **
## data2010$ufPI 0.160056
## data2010$ufPR 0.092645 .
## data2010$ufRJ 0.473024
## data2010$ufRN 0.013863 *
## data2010$ufRO 0.703283
## data2010$ufRR 0.670753
## data2010$ufRS 0.026921 *
## data2010$ufSC 0.101387
## data2010$ufSE 0.206271
## data2010$ufSP 0.123396
## data2010$ufTO 0.566653
## data2010$sequencial_candidato NA
## data2010$estado_civilDIVORCIADO(A) 0.091236 .
## data2010$estado_civilSEPARADO(A) JUDICIALMENTE 0.020552 *
## data2010$estado_civilSOLTEIRO(A) 3.35e-08 ***
## data2010$estado_civilVIÚVO(A) 0.096087 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 48010 on 4002 degrees of freedom
## Multiple R-squared: 0.0702, Adjusted R-squared: 0.06161
## F-statistic: 8.167 on 37 and 4002 DF, p-value: < 2.2e-16
ggplot(voto.model2010Ruim, aes(x = predict(voto.model2010Ruim), y = residuals(voto.model2010Ruim))) + geom_point()
QUESTÃO 3) Todas as variáveis são úteis para os modelos de regressão? Há variáveis redudantes?
Nem todas as variáveis são úteis para os modelos de regressão. Existem variáveis de apenas um nível, ou seja, variáveis que não apresentam variações no seu conteúdo. Como exemplo dessas temos o ano e cargo. Há também variáveis que existem em função de outras, onde também podemos chamá-las de redundantes. Como exemplo dessas, temos a média das receitas e média das despesas, que existem por conta das variáveis total de receitas e total de despesas, respectivamente.
QUESTÃO 4) No caso de haver variáveis pouco explicativas e/ou redudantes, construa um novo modelo sem essas variáveis e o compare ao modelo com todas as variáveis (e.g. em termos de R2 e RSE). Faça isso para 2006 e 2010 separadamente.
Escolhendo variáveis que são explicativas, tomamos o total de despesa e a quantidade de despesa, pelo fato de que, quanto mais se gasta em uma campanha política no Brasil, mais chances se tem de ser eleito. Assim, temos o seguinte modelo:
voto.model2006 <- lm(formula = votos ~ data2006$total_despesa + data2006$quantidade_despesas, data2006 %>% select(-cargo), na.action = na.omit)
summary(voto.model2006)
##
## Call:
## lm(formula = votos ~ data2006$total_despesa + data2006$quantidade_despesas,
## data = data2006 %>% select(-cargo), na.action = na.omit)
##
## Residuals:
## Min 1Q Median 3Q Max
## -308934 -9807 -8503 -704 642240
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.025e+04 6.331e+02 16.184 < 2e-16 ***
## data2006$total_despesa 1.474e-01 3.629e-03 40.604 < 2e-16 ***
## data2006$quantidade_despesas -2.498e+01 3.139e+00 -7.956 2.39e-15 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 33950 on 3433 degrees of freedom
## Multiple R-squared: 0.4429, Adjusted R-squared: 0.4426
## F-statistic: 1365 on 2 and 3433 DF, p-value: < 2.2e-16
Observando os valores de R² e R ajustado (0.4429 e 0.4426, respectivamente), vemos que os valores são praticamente idênticos, mostrando que, de fato, as variáveis escolhidas pro modelo explicam bem os votos. Podemos ver o mesmo modelo, com as mesmas variáveis, para 2010:
voto.model2010 <- lm(formula = votos ~ data2010$total_despesa + data2010$quantidade_despesas, data2010 %>% select(-cargo), na.action = na.omit)
summary(voto.model2010)
##
## Call:
## lm(formula = votos ~ data2010$total_despesa + data2010$quantidade_despesas,
## data = data2010 %>% select(-cargo), na.action = na.omit)
##
## Residuals:
## Min 1Q Median 3Q Max
## -273985 -8620 -7800 -3323 1303942
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 8.802e+03 6.504e+02 13.53 < 2e-16 ***
## data2010$total_despesa 7.104e-02 1.857e-03 38.25 < 2e-16 ***
## data2010$quantidade_despesas -7.182e+00 1.787e+00 -4.02 5.93e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 38160 on 4037 degrees of freedom
## Multiple R-squared: 0.4075, Adjusted R-squared: 0.4072
## F-statistic: 1388 on 2 and 4037 DF, p-value: < 2.2e-16
Para 2010, observamos os valores de R² e R ajustado (0.4075 e 0.4072, respectivamente), valores quase idêticos, e, assim como para 2006, vemos que as variáveis escolhidas pro modelo explicam bem os votos. Fazendo agora o modelo com todas as variáveis, temos:
#voto.model2006 <- lm(formula = votos ~ . , data2006 %>% select(-cargo), na.action = na.omit)
#voto.model2010 <- lm(formula = votos ~ . , data2010 %>% select(-cargo), na.action = na.omit)
#summary(voto.model2006)
#summary(voto.model2010)
ggplot(voto.model2006, aes(x = predict(voto.model2006), y = residuals(voto.model2006))) + geom_point()
Vemos que, para os dois modelos, os valores de R² e R ajustado (R² = 1 e R ajusatdo = NaN) sao muito diferentes um do outro. Pelo plot dos resíduos do modelo, vemos que todos os resíduos simplesmente estão posicionados no 0, não possuem variação, mostrando que o modelo é não apresenta consistência e coerência para explicar os votos.
QUESTÃO 5) Construa agora uma regressão considerando os anos 2006 e 2010 em conjunto. Que diferenças/semelhanças você percebe em relação aos modelos individuais por ano? Veja a questão 2 para sugestões que você usar para comparação.
Escolhendo as variáveis do modelo dos dados de 2006 e 2010 em conjunto, tomamos as mesmas utilizadas na questão 2, como aquelas que melhor explicam os votos. As variáveis foram o total das despesas e o total das receitas.
eleicoes_data <- lm(formula = votos ~ eleicoes_data$total_despesa + eleicoes_data$total_receita, eleicoes_data %>% select(-cargo), na.action = na.omit)
summary(eleicoes_data)
##
## Call:
## lm(formula = votos ~ eleicoes_data$total_despesa + eleicoes_data$total_receita,
## data = eleicoes_data %>% select(-cargo), na.action = na.omit)
##
## Residuals:
## Min 1Q Median 3Q Max
## -311490 -10462 -9385 -2824 1295977
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.071e+04 4.694e+02 22.811 < 2e-16 ***
## eleicoes_data$total_despesa 1.061e-01 7.440e-03 14.258 < 2e-16 ***
## eleicoes_data$total_receita -2.799e-02 6.531e-03 -4.287 1.84e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 37700 on 7473 degrees of freedom
## Multiple R-squared: 0.3762, Adjusted R-squared: 0.3761
## F-statistic: 2254 on 2 and 7473 DF, p-value: < 2.2e-16
De semelhança, os modelos possuem os valores R² e R ajustado bem semelhantes, tanto no modelo de 2006 quanto no modelo de 2010 e nos dois em conjunto, indicando que os modelos explicam bem os votos. Como diferença podemos enxergar os valores de RSE. Os resíduos para os modelos dos dados de 2006 e 2010 são maiores que os do modelo de 2006 e 2010 em conjunto.