Trabalhando com Dados de despesas públicas
1 - Importe o arquivo despesas_municipios_total
library(csv)
despesas_municipais = read.csv("C:/Users/Osman/OneDrive/Curso_Analise_Inferencial_R ENAP_2023/despesas_municipios_total.csv",
header = TRUE, encoding = "UTF-8", sep = ";", dec = ",")
2 - Crie uma coluna que mostra para cada funcao
em cada município qual o percentual de despesa naquela função em
comparação com a despesa total
library(dplyr)
despesas_total_municipio = despesas_municipais%>%
group_by(ID_ENTE)%>%
summarise(total_despesas = sum(VALUE))
df_agregado = despesas_municipais%>%
group_by(funcao, ID_ENTE) %>%
summarise(total_funcao = sum(VALUE))%>%
inner_join(despesas_total_municipio) %>%
mutate(perc_desp_funcao = (total_funcao / total_despesas)*100)
df_agregado
## # A tibble: 46,856 x 5
## # Groups: funcao [28]
## funcao ID_ENTE total_funcao total_despesas perc_desp_funcao
## <chr> <int> <dbl> <dbl> <dbl>
## 1 Administração 1100023 23540181. 274198923. 8.59
## 2 Administração 1100049 44927947. 238236228. 18.9
## 3 Administração 1100056 10184307. 49843429. 20.4
## 4 Administração 1100106 22589490. 92830902. 24.3
## 5 Administração 1100114 24043254. 144406275. 16.6
## 6 Administração 1100122 39205561. 262922017. 14.9
## 7 Administração 1100130 14244587. 83283883. 17.1
## 8 Administração 1100148 10906908. 56731329. 19.2
## 9 Administração 1100155 15796073. 87521626. 18.0
## 10 Administração 1100189 15589934. 104703321. 14.9
## # i 46,846 more rows
3 - Crie uma coluna que indica se o município é
maior ou menor do que a média pelo critério da população
media_populacao = mean(unique(despesas_municipais$QT_HABITANTE))
media_populacao
## [1] 56117.62
df_agregado = df_agregado%>%
inner_join(despesas_municipais %>%
distinct(ID_ENTE, QT_HABITANTE))
## Joining, by = "ID_ENTE"
df_agregado = df_agregado %>%
mutate(maior_media = ifelse(QT_HABITANTE > media_populacao, "Pop_maior_media", "Pop_menor_media"))
df_agregado
## # A tibble: 46,856 x 7
## # Groups: funcao [28]
## funcao ID_ENTE total_funcao total_despesas perc_desp_funcao QT_HABITANTE
## <chr> <int> <dbl> <dbl> <dbl> <int>
## 1 Administra~ 1100023 23540181. 274198923. 8.59 107863
## 2 Administra~ 1100049 44927947. 238236228. 18.9 85359
## 3 Administra~ 1100056 10184307. 49843429. 20.4 16323
## 4 Administra~ 1100106 22589490. 92830902. 24.3 46174
## 5 Administra~ 1100114 24043254. 144406275. 16.6 51775
## 6 Administra~ 1100122 39205561. 262922017. 14.9 128969
## 7 Administra~ 1100130 14244587. 83283883. 17.1 39991
## 8 Administra~ 1100148 10906908. 56731329. 19.2 20474
## 9 Administra~ 1100155 15796073. 87521626. 18.0 36035
## 10 Administra~ 1100189 15589934. 104703321. 14.9 36660
## # i 46,846 more rows
## # i 1 more variable: maior_media <chr>
4 - Com confiança de 95% mostre qual a média e
a margem de erro relacionada ao percentual de despesa habitação.
despesas_habitacao = df_agregado%>%
filter(funcao=="Habitação")
nivel_confianca<- 0.95
alfa<- 1-nivel_confianca
alfa_div_2 <- alfa/2
df= NROW(despesas_habitacao) -1
qref<- abs(qt(alfa_div_2, df=df))
desv_pad <- sd(despesas_habitacao$perc_desp_funcao)
media_perc_desp_funcao <- mean(despesas_habitacao$perc_desp_funcao)
num_resp_val<- NROW(despesas_habitacao)
err_max_provavel <- qref * desv_pad / sqrt(num_resp_val)
li <- media_perc_desp_funcao- err_max_provavel
ls<- media_perc_desp_funcao + err_max_provavel
ic<- c(li, ls)
ic
## [1] 0.4094349 0.5760820
5 - Teste a hipótese que municípios com
população maior do que a média tem um percentual de despesa em
transporte público maior do que os municípios com população menor do que
a média. Considere o nível de significância de 5%
despesas_transporte = df_agregado%>%
filter(funcao=="Transporte")
t.test(formula= perc_desp_funcao ~ maior_media, data= despesas_transporte, alternative = "two.sided")
##
## Welch Two Sample t-test
##
## data: perc_desp_funcao by maior_media
## t = -12.484, df = 1144.8, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Pop_maior_media and group Pop_menor_media is not equal to 0
## 95 percent confidence interval:
## -2.062099 -1.501955
## sample estimates:
## mean in group Pop_maior_media mean in group Pop_menor_media
## 1.608806 3.390833
6- As três hipóteses a seguir são decorrentes
do fato de que há obrigatoriedade constitucional de gastos mínimos com
saúde e educação atreladaos a percentuais da receita arrecadada com
impostos. Essses percentuais são próximos de gastos míninmos entre as
duas funções.
6.1 - Teste a hipótese de que a média do percentual gasto com saúde é igual à média do percentual gasto com educação. Considere o nível de significância de 5%. Faça um gráfico comparando a distribuição dos percentuais das duas despesas.
library(ggplot2)
df_saude_educacao = df_agregado %>%
filter(funcao %in% c("Saúde","Educação"))
t.test(formula= perc_desp_funcao ~ funcao, data= df_saude_educacao, alternative = "two.sided")
##
## Welch Two Sample t-test
##
## data: perc_desp_funcao by funcao
## t = 10.183, df = 6319.7, p-value < 2.2e-16
## alternative hypothesis: true difference in means between group Educação and group Saúde is not equal to 0
## 95 percent confidence interval:
## 1.538886 2.272604
## sample estimates:
## mean in group Educação mean in group Saúde
## 28.96433 27.05858
df_saude_educacao %>%
ggplot() +
geom_boxplot(aes(x=funcao, y=perc_desp_funcao))
6.2 - Teste a hipótese de que não há diferença
da média do percentual gasto com educação entre os municípios grandes e
pequenos. Considere o nível de significância de 5%.
df_educacao = df_agregado %>%
filter(funcao=="Educação")
t.test(formula= perc_desp_funcao ~ maior_media, data= df_educacao, alternative = "two.sided")
##
## Welch Two Sample t-test
##
## data: perc_desp_funcao by maior_media
## t = -6.3716, df = 907.51, p-value = 2.97e-10
## alternative hypothesis: true difference in means between group Pop_maior_media and group Pop_menor_media is not equal to 0
## 95 percent confidence interval:
## -3.031834 -1.603932
## sample estimates:
## mean in group Pop_maior_media mean in group Pop_menor_media
## 27.06150 29.37939
6.3 - Teste a hipótese de que não há diferença da média do percentual gasto com saúde entre os municípios grandes e pequenos. Considere o nível de significância de 5%.
df_saude = df_agregado %>%
filter(funcao =="Saúde")
t.test(formula= perc_desp_funcao ~ maior_media, data= df_saude, alternative = "two.sided")
##
## Welch Two Sample t-test
##
## data: perc_desp_funcao by maior_media
## t = 3.3009, df = 869.15, p-value = 0.001003
## alternative hypothesis: true difference in means between group Pop_maior_media and group Pop_menor_media is not equal to 0
## 95 percent confidence interval:
## 0.4073697 1.6023443
## sample estimates:
## mean in group Pop_maior_media mean in group Pop_menor_media
## 27.88437 26.87951
7 - Verifique quais as diferenças entre grupos que ocorrem quando se compara os diveros tipos de despesa. Use anova, teste tukey e gráficos para demonstrar o seu achado. Considere nível de significância de 5%.
#Dados de gestão de pessoas
8 - Importe os dados do arquivo pessoal_orgao_publico.csv
9 - Com 95% de confiança mostre a proporção de cada uma das possibilidades de enquadramento da variável satisfação com o trabalho. Mostre ainda a margem de erro.
10 - Cheque a hipótese de que não há diferença de satisfação com o trabalho entre homens e mulheres a partir dos dados coletados na instituição pública pesquisada para um nível de significância de 5%.