Projeto final

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%.