#' resultados UI Function
#'
#' @description A shiny Module.
#'
#' @param id,input,output,session Internal parameters for {shiny}.
#'
#' @noRd
#'
#' @importFrom shiny NS tagList
# Configurações checkbox CAGED
# lista_config_geral_admitidos <- c("Admitido" = 1,
# "Desligado" = 2)
lista_config_geral_admitidos <- c(Dados:::Layout$LayoutCaged$Admitidos.Desligados)
lista_config_geral_raca <- c(Dados:::Layout$LayoutCaged$Raça.Cor)
lista_config_geral_sexo <- c(Dados:::Layout$LayoutCaged$Sexo)
lista_config_geral_escolaridade <- c(Dados:::Layout$LayoutCaged$Grau.Instrução)
lista_config_geral_tipo_movimentacao <- c(Dados:::Layout$LayoutCaged$Tipo.Mov.Desagregado)
lista_config_geral_porte_empresa <- c(Dados:::Layout$LayoutCaged$Faixa.Empr.Início.Jan)
lista_config_geral_indicacao_contrato_parcial <- c("Sim" = 1,
"Não" = 0)
lista_config_geral_indicacao_contrato_intermitente <- c("Sim" = 1,
"Não" = 0)
# Configurações checkbox RAIS
lista_vinculo_ativo_rais <- c(Dados:::Layout$LayoutRais$Vínculo.Ativo.31.12)
lista_motivo_desligamento_rais <- c(Dados:::Layout$LayoutRais$Motivo.Desligamento)
lista_tipo_admissao_rais <- c(Dados:::Layout$LayoutRais$Tipo.Admissão)
lista_tipo_vinculo_rais <- c(Dados:::Layout$LayoutRais$Tipo.Vínculo)
lista_escolaridade_rais <- c(Dados:::Layout$LayoutRais$Escolaridade)
lista_raca_rais <- c(Dados:::Layout$LayoutRais$Raça)
lista_sexo_rais <- c(Dados:::Layout$LayoutRais$Sexo)
lista_tamanho_estabelecimento_rais <- c(Dados:::Layout$LayoutRais$Tamanho.Estabelecimento)
lista_ind_trab_parcial_rais <- c("Sim" = 1,
"Não" = 0)
lista_ind_trab_intermitente_rais <- c("Sim" = 1,
"Não" = 0)
mod_resultados_ui <- function(id){
ns <- NS(id)
tabItem(tabName = "resultados",
fluidRow(
column(12,
HTML(paste0("
<table>
<tr>
<td>",
# actionBttn(ns("atualizar_dados_caged"), color = "primary", style = "bordered", icon = icon("sync"), size = "sm"),
"</td>
<td>",
"</td>
<td></td>
</tr>
</table>
"))
)
),
# fluidRow(h3("")),
fluidRow(
column(12, align="left",
boxPlus(
title = NULL,
closable = FALSE,
width = NULL,
status = NULL,
solidHeader = TRUE,
collapsible = FALSE,
enable_dropdown = FALSE,
fluidRow(column(12,
boxPlus(
title = "Resumo",
closable = FALSE,
width = NULL,
status = NULL,
solidHeader = TRUE,
collapsible = TRUE,
enable_dropdown = FALSE,
column(12, align = "left",
HTML(paste0("
<table style='auto'>
<tr>
<td>
<table style='auto'>
<tr>
<td colspan='7'>", htmlOutput(ns("salario_remuneracao")), "</td>
</tr>
<tr>
<td><font style='font-size:14px;'><b>Méd:</b></font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("valor_salario_medio")), "</td>
<td width='5px'></td>
<td><font style='font-size:12px;'>1Q:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("valor_salario_1q")), "</td>
</tr>
<tr>
<td><font style='font-size:12px;'>Mín:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("valor_salario_minimo")), "</td>
<td width='5px'></td>
<td><font style='font-size:12px;'>2Q:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("valor_salario_2q")), "</td>
</tr>
<tr>
<td><font style='font-size:12px;'>Máx:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("valor_salario_maximo")), "</td>
<td width='5px'></td>
<td><font style='font-size:12px;'>3Q:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("valor_salario_3q")), "</td>
</tr>
<tr>
<td><font style='font-size:12px;'>sd:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("valor_salario_sd")), "</td>
<td width='5px'></td>
<td><font style='font-size:12px;'>4Q:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("valor_salario_4q")), "</td>
</tr>
</table>
</td>
<td width='10px'></td>
<td width='10px'>", plotly::plotlyOutput(ns("salario_boxplot"), width='10', height='10'), "</td>
<td width='10px'></td>
<td>
<table style='auto'>
<tr>
<td colspan='3'>", htmlOutput(ns("amostras_registros")), "</td>
</tr>
<tr>
<td><font style='font-size:14px;'><b>Total:</b></font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("amostras_total")), "</td>
</tr>
<tr>
<td>", htmlOutput(ns("entrada_ativo")), "</td>
<td width='5px'></td>
<td>", htmlOutput(ns("amostras_entrada")), "</td>
</tr>
<tr>
<td>", htmlOutput(ns("saida_inativo")), "</td>
<td width='5px'></td>
<td>", htmlOutput(ns("amostras_saida")), "</td>
</tr>
<tr>
<td> </td>
<td width='5px'> </td>
<td> </td>
</tr>
</table>
</td>
<td width='10px'></td>
<td width='100px'>", plotly::plotlyOutput(ns("donut_amostras"), width='100', height='100'), "</td>
<td width='10px'></td>
<td>
<table style='auto'>
<tr>
<td colspan='3'><h4><b> </b></h4></td>
</tr>
<tr>
<td><b> </b></td>
<td width='5px'> </td>
<td><b> </b></td>
</tr>
<tr>
<td><font style='font-size:12px;'>Homens:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("homens")), "</td>
</tr>
<tr>
<td><font style='font-size:12px;'>Mulheres:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("mulheres")), "</td>
</tr>
<tr>
<td> </td>
<td width='5px'> </td>
<td> </td>
</tr>
</table>
</td>
<td width='10px'></td>
<td width='100px'>", plotly::plotlyOutput(ns("donut_homem_mulher"), width='100', height='100'), "</td>
<td width='10px'></td>
<td>
<table style='auto'>
<tr>
<td colspan='3'><h4><b> </b></h4></td>
</tr>
<tr>
<td colspan='3'><font style='font-size:14px;'><b>Idade Fértil</b></font></td>
</tr>
<tr>
<td><font style='font-size:12px;'>Homens:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("homens_fertil")), "</td>
</tr>
<tr>
<td><font style='font-size:12px;'>Mulheres:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("mulheres_fertil")), "</td>
</tr>
<tr>
<td> </td>
<td width='5px'> </td>
<td> </td>
</tr>
</table>
</td>
<td width='10px'></td>
<td width='100px'><center><b>Homem</b></center>", plotly::plotlyOutput(ns("donut_homem_fertil"), width='100', height='100'), "</td>
<td width='100px'><center><b>Mulher</b></center>", plotly::plotlyOutput(ns("donut_mulher_fertil"), width='100', height='100'), "</td>
<td width='10px'></td>
<td>
<table style='auto'>
<tr>
<td colspan='7'><h4><b>Permanência</b></h4></td>
</tr>
<tr>
<td><font style='font-size:14px;'><b>Méd:</b></font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("permanencia_media")), "</td>
</tr>
<tr>
<td><font style='font-size:12px;'>Mín:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("permanencia_minima")), "</td>
</tr>
<tr>
<td><font style='font-size:12px;'>Máx:</font></td>
<td width='5px'></td>
<td>", htmlOutput(ns("permanencia_maxima")), "</td>
</tr>
<tr>
<td> </td>
<td width='5px'> </td>
<td> </td>
</tr>
</table>
</td>
<td></td>
<td></td>
</tr>
</table>"))
)
)
)),
fluidRow(
column(12,
actionBttn(ns('filtros_1'), 'Filtros', color = 'primary', icon = icon('filter'), style = 'stretch', size = 'sm'),
actionBttn(ns('filtros_2'), 'Filtros', color = 'primary', icon = icon('filter'), style = 'stretch', size = 'sm')
)
),
div(id = ns("filtros"),
useShinyjs(),
fluidRow(
column(12
,boxPlus(
title = "Parâmetros CAGED",
align = "center",
closable = FALSE,
width = NULL,
status = NULL,
solidHeader = TRUE,
collapsible = FALSE,
enable_dropdown = FALSE,
fluidRow(column(12,
sliderInput(
inputId = ns("salario"),
label = "Salários",
min = 0,
max = 100,
value = c(2,10),
step = 0.01
)
)),
fluidRow(
column(1,
textInput(ns("salario_inicio"), label = NULL)
),
column(10),
column(1,
textInput(ns("salario_fim"), label = NULL)
)
),
fluidRow(column(12,
sliderInput(
inputId = ns("idade"),
label = "Idade",
min = 0,
max = 100,
value = c(2,10)
)
)),
fluidRow(
column(1,
textInput(ns("idade_inicio"), label = NULL)
),
column(10),
column(1,
textInput(ns("idade_fim"), label = NULL)
)
),
fluidRow(column(12,
sliderInput(
inputId = ns("horas"),
label = "Horas",
min = 0,
max = 100,
value = c(2,10)
)
)),
fluidRow(
column(1,
textInput(ns("horas_inicio"), label = NULL)
),
column(10),
column(1,
textInput(ns("horas_fim"), label = NULL)
)
),
fluidRow(
column(width = 2,
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Admitidos",
actionLink(ns("select_all_config_geral_admitidos"), "Todas"),
checkboxGroupInput(ns("config_geral_admitidos"),
label = "",
choices = lista_config_geral_admitidos,
selected = lista_config_geral_admitidos)
),
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Raça",
actionLink(ns("select_all_config_geral_raca"), "Todas"),
checkboxGroupInput(ns("config_geral_raca"),
label = "",
choices = lista_config_geral_raca,
selected = lista_config_geral_raca)
),
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Gênero",
actionLink(ns("select_all_config_geral_sexo"), "Todas"),
checkboxGroupInput(ns("config_geral_sexo"),
label = "",
choices = lista_config_geral_sexo,
selected = lista_config_geral_sexo)
)
),
column(width = 4,
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Escolaridade",
actionLink(ns("select_all_config_geral_escolaridade"), "Todas"),
checkboxGroupInput(ns("config_geral_escolaridade"),
label = "",
choices = lista_config_geral_escolaridade,
selected = lista_config_geral_escolaridade)
),
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Tipo de Movimentação",
actionLink(ns("select_all_config_geral_tipo_movimentacao"), "Todas"),
checkboxGroupInput(ns("config_geral_tipo_movimentacao"),
label = "",
choices = lista_config_geral_tipo_movimentacao,
selected = lista_config_geral_tipo_movimentacao)
)),
column(width = 2,
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Porte da Empresa",
actionLink(ns("select_all_config_geral_porte_empresa"), "Todas"),
checkboxGroupInput(ns("config_geral_porte_empresa"),
label = "N Empregados",
choices = lista_config_geral_porte_empresa,
selected = lista_config_geral_porte_empresa)
),
# box(width = 12, align = "left",
# # status = "info",
# solidHeader = TRUE,
# collapsible = TRUE,
# collapsed = FALSE,
# title = "Contrato Parcial",
# actionLink(ns("select_all_config_geral_indicacao_contrato_parcial"), "Todas"),
# checkboxGroupInput(ns("config_geral_indicacao_contrato_parcial"),
# label = "",
# choices = lista_config_geral_indicacao_contrato_parcial,
# selected = "")
# ),
# box(width = 12, align = "left",
# # status = "info",
# solidHeader = TRUE,
# collapsible = TRUE,
# collapsed = FALSE,
# title = "Contrato Intermitente",
# actionLink(ns("select_all_config_geral_indicacao_contrato_intermitente"), "Todas"),
# checkboxGroupInput(ns("config_geral_indicacao_contrato_intermitente"),
# label = "",
# choices = lista_config_geral_indicacao_contrato_intermitente,
# selected = "")
# )
),
column(width = 4,
box(width = 12, align = "left",
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Região/UF/Municipio",
pickerInput(ns("regiao_caged"), "Região", choices = ""),
pickerInput(ns("uf_caged"), "UF", choices = ""),
pickerInput(ns("municipio_caged"), "Município", choices = "", multiple = FALSE, options = pickerOptions(
actionsBox = TRUE,
title = "Selecione um Municipio",
liveSearch = TRUE,
dropupAuto = FALSE
)),
actionBttn(ns("add_mun"), "Adicionar", color = "primary", style = "bordered", icon = icon("plus"), size = "sm"),
box(width = 12,
solidHeader = TRUE,
collapsible = TRUE,
collapsed = FALSE,
title = "Municípios Selecionados",
actionBttn(ns("limpar_municipio"), "Limpar", color = "primary", style = "bordered", icon = icon("eraser"), size = "sm"),
actionBttn(ns("excluir_municipio"), "Excluir", color = "primary", style = "bordered", icon = icon("trash-alt"), size = "sm"),
DT::dataTableOutput(ns("municipios_selecionados"))
)
))
),
fluidRow(
column(4),
column(4, actionBttn(ns("gera_resultado"), "Gerar Resultado", color = "primary", icon = icon("calculator"), style = "stretch", size = "sm"))
)
)
)
)
),
div(id = ns("filtros_rais"),
useShinyjs(),
fluidRow(
column(12
,boxPlus(
title = "Parâmetros RAIS",
align = "center",
closable = FALSE,
width = NULL,
status = NULL,
solidHeader = TRUE,
collapsible = FALSE,
enable_dropdown = FALSE,
fluidRow(column(12,
sliderInput(
inputId = ns("salario_rais"),
label = "Remuneração",
min = 0,
max = 100,
value = c(2,10),
step = 0.01
)
)),
fluidRow(
column(1,
textInput(ns("salario_rais_inicio"), label = NULL)
),
column(10),
column(1,
textInput(ns("salario_rais_fim"), label = NULL)
)
),
fluidRow(column(12,
sliderInput(
inputId = ns("idade_rais"),
label = "Idade",
min = 0,
max = 100,
value = c(2,10)
)
)),
fluidRow(
column(1,
textInput(ns("idade_rais_inicio"), label = NULL)
),
column(10),
column(1,
textInput(ns("idade_rais_fim"), label = NULL)
)
),
fluidRow(column(12,
sliderInput(
inputId = ns("horas_rais"),
label = "Horas",
min = 0,
max = 100,
value = c(2,10)
)
)),
fluidRow(
column(1,
textInput(ns("horas_rais_inicio"), label = NULL)
),
column(10),
column(1,
textInput(ns("horas_rais_fim"), label = NULL)
)
),
fluidRow(
column(width = 2,
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Vínculo Ativo",
actionLink(ns("select_all_vinculo_ativo_rais"), "Todas"),
checkboxGroupInput(ns("config_geral_vinculo_ativo_rais"),
label = "",
choices = lista_vinculo_ativo_rais,
selected = lista_vinculo_ativo_rais)
),
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Raça",
actionLink(ns("select_all_raca_rais"), "Todas"),
checkboxGroupInput(ns("config_geral_raca_rais"),
label = "",
choices = lista_raca_rais,
selected = lista_raca_rais)
),
box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Gênero",
actionLink(ns("select_all_genero_rais"), "Todas"),
checkboxGroupInput(ns("config_geral_genero_rais"),
label = "",
choices = lista_sexo_rais,
selected = lista_sexo_rais)
)
, box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Escolaridade",
actionLink(ns("select_all_escolaridade_rais"), "Todas"),
checkboxGroupInput(ns("config_geral_escolaridade_rais"),
label = "",
choices = lista_escolaridade_rais,
selected = lista_escolaridade_rais)
)
),
column(width = 4
, box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Motivo do desligamento",
actionLink(ns("select_all_motivo_desligamento_rais"), "Todas"),
checkboxGroupInput(ns("config_geral_motivo_desligamento_rais"),
label = "",
choices = lista_motivo_desligamento_rais,
selected = lista_motivo_desligamento_rais)
)
),
column(width = 2
, box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Tipo de Admissão",
actionLink(ns("select_all_tipo_admissao_rais"), "Todas"),
checkboxGroupInput(ns("config_geral_tipo_admissao_rais"),
label = "",
choices = lista_tipo_admissao_rais,
selected = lista_tipo_admissao_rais)
)
, box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Tipo de Vínculo",
actionLink(ns("select_all_tipo_vinculo_rais"), "Todas"),
checkboxGroupInput(ns("config_geral_tipo_vinculo_rais"),
label = "",
choices = lista_tipo_vinculo_rais,
selected = lista_tipo_vinculo_rais)
)
, box(width = 12, align = "left",
# status = "info",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Porte da Empresa",
actionLink(ns("select_all_porte_empresa_rais"), "Todas"),
checkboxGroupInput(ns("config_geral_porte_empresa_rais"),
label = NULL,
choices = lista_tamanho_estabelecimento_rais,
selected = lista_tamanho_estabelecimento_rais)
)
),
column(width = 4,
box(width = 12, align = "left",
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Região/UF/Municipio",
pickerInput(ns("regiao_rais"), "Região", choices = ""),
pickerInput(ns("uf_rais"), "UF", choices = ""),
pickerInput(ns("municipio_rais"), "Município", choices = "", multiple = FALSE, options = pickerOptions(
actionsBox = TRUE,
title = "Selecione um Municipio",
liveSearch = TRUE,
dropupAuto = FALSE
)),
actionBttn(ns("add_mun_rais"), "Adicionar", color = "primary", style = "bordered", icon = icon("plus"), size = "sm"),
box(width = 12,
solidHeader = TRUE,
collapsible = FALSE,
collapsed = FALSE,
title = "Municípios Selecionados",
actionBttn(ns("limpar_municipio_rais"), "Limpar", color = "primary", style = "bordered", icon = icon("eraser"), size = "sm"),
actionBttn(ns("excluir_municipio_rais"), "Excluir", color = "primary", style = "bordered", icon = icon("trash-alt"), size = "sm"),
DT::dataTableOutput(ns("municipios_selecionados_rais"))
)
))
),
fluidRow(
column(4),
column(4, actionBttn(ns("gera_resultado_rais"), "Gerar Resultado", color = "primary", icon = icon("calculator"), style = "stretch", size = "sm"))
)
)
)
)
),
# fluidRow(
#
# column(6,
#
#
# boxPlus(
# title = "Gráficos",
# closable = FALSE,
# width = NULL,
# status = NULL,
# solidHeader = TRUE,
# collapsible = TRUE,
# enable_dropdown = FALSE,
#
# plotly::plotlyOutput(ns("GrafDemoSexoIdadeSalario"))
#
# )),
#
# column(6,
#
#
# boxPlus(
# title = "Gráficos",
# closable = FALSE,
# width = NULL,
# status = NULL,
# solidHeader = TRUE,
# collapsible = TRUE,
# enable_dropdown = FALSE,
#
# plotly::plotlyOutput(ns("GrafDemoSexoIdadeSalario_"))
#
# ))
#
# ),
fluidRow(column(12,
boxPlus(
title = actionBttn(ns("atualizar_dados_caged"), label = "Resultados", color = "primary", style = "bordered", size = "md"),
closable = FALSE,
width = NULL,
status = NULL,
solidHeader = TRUE,
collapsible = TRUE,
enable_dropdown = FALSE,
DT::dataTableOutput(ns("tabela_filtrada_caged"))
)))
)
)
)
)
}
#' resultados Server Function
#'
#' @noRd
mod_resultados_server <- function(input, output, session, caged, rais, origem, tab_selecionada){
ns <- session$ns
seletor_base <- reactive({
p <- origem$origem()
return(p)
})
tab <- reactive({
c <- tab_selecionada$tab_selecionada()
return(c)
})
# canal <- bd
info <- as.data.frame(Sys.info())
info$coluna <- rownames(info)
info <- subset(info, coluna == "user")
# session$onSessionEnded(function(session){
#
# dbDisconnect(canal)
#
# })
# municipio <- data.frame("Código" = c(""),
# "Município" = c(""), stringsAsFactors = FALSE)
#
# saveRDS(municipio, file = paste0("municipio_", as.character(info[1, 1])))
carrega_municipios_selecionados <- function(){
output$municipios_selecionados <- DT::renderDataTable(datatable(
municipio <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Caged$Município
, options = list(pageLength = 8, dom= 'ftp'), colnames = c("Código", "Município"),
rownames = FALSE
))
}
carrega_municipios_selecionados()
carrega_municipios_selecionados_rais <- function(){
output$municipios_selecionados_rais <- DT::renderDataTable(datatable(
municipio <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Rais$Município
, options = list(pageLength = 8, dom= 'ftp'), colnames = c("Código", "Município"),
rownames = FALSE
))
}
carrega_municipios_selecionados_rais()
shinyjs::hide("filtros")
shinyjs::hide("filtros_rais")
shinyjs::hide("filtros_2")
# Exibir box com os filtros
observeEvent(input$filtros_1, {
if(seletor_base() == TRUE){
if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
shinyjs::show("filtros")
shinyjs::hide("filtros_rais")
shinyjs::show("filtros_2")
shinyjs::hide("filtros_1")
# sqlOutput_regiao <- paste('SELECT DISTINCT nome_grande_regiao FROM municipios_caged')
# sqlOutput_regiao <- as.data.frame(RSQLite::dbGetQuery(canal, sqlOutput_regiao))
sqlOutput_regiao <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(nome_grande_regiao) %>% unique()
if (nrow(sqlOutput_regiao>0)) {
reg <- c(sqlOutput_regiao, "TODAS")
updatePickerInput(session, "regiao_caged", choices = reg, selected = "TODAS")
}
# dados_caged <- readRDS(paste0("caged_filtrado_", as.character(info[1, 1])))
# dados_caged2 <- readRDS(paste0("caged_filtrado2_", as.character(info[1, 1])))
dados_geral <- readRDS(paste0("dados_", as.character(info[1, 1])))
# lista_salarios <- dados_caged$Salário.Mensal %>% unique()
# lista_idade <- dados_caged$Idade %>% unique()
# lista_horas <- dados_caged$Qtd.Hora.Contrat %>% unique()
# lista_salarios2 <- dados_caged2$Salário.Mensal %>% unique()
# lista_idade2 <- dados_caged2$Idade %>% unique()
# lista_horas2 <- dados_caged2$Qtd.Hora.Contrat %>% unique()
# updateSliderInput(session, "salario", min = min(lista_salarios), max = max(lista_salarios), value = c(min(lista_salarios2), max(lista_salarios2)))
updateSliderInput(session, "salario", min = dados_geral$Caged$Salário.MensalMinMax[1], max = dados_geral$Caged$Salário.MensalMinMax[2], value = c(dados_geral$Caged$Salário.Mensal[1], dados_geral$Caged$Salário.Mensal[2]))
# updateSliderInput(session, "idade", min = min(lista_idade), max = max(lista_idade), value = c(min(lista_idade2), max(lista_idade2)))
updateSliderInput(session, "idade", min = dados_geral$Caged$IdadeMinMax[1], max = dados_geral$Caged$IdadeMinMax[2], value = c(dados_geral$Caged$Idade[1], dados_geral$Caged$Idade[2]))
# updateSliderInput(session, "horas", min = min(lista_horas), max = max(lista_horas), value = c(min(lista_horas2), max(lista_horas2)))
updateSliderInput(session, "horas", min = dados_geral$Caged$Qtd.Hora.ContratMinMax[1], max = dados_geral$Caged$Qtd.Hora.ContratMinMax[2], value = c(dados_geral$Caged$Qtd.Hora.Contrat[1], dados_geral$Caged$Qtd.Hora.Contrat[2]))
}
}else{
if(file.exists(paste0("rais_filtrado_", as.character(info[1, 1])))){
shinyjs::hide("filtros")
shinyjs::show("filtros_rais")
shinyjs::show("filtros_2")
shinyjs::hide("filtros_1")
# sqlOutput_regiao <- paste('SELECT DISTINCT nome_grande_regiao FROM municipios_caged')
# sqlOutput_regiao <- as.data.frame(RSQLite::dbGetQuery(canal, sqlOutput_regiao))
sqlOutput_regiao <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(nome_grande_regiao) %>% unique()
if (nrow(sqlOutput_regiao>0)) {
reg <- c(sqlOutput_regiao, "TODAS")
updatePickerInput(session, "regiao_rais", choices = reg, selected = "TODAS")
}
# dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
# dados_rais2 <- readRDS(paste0("rais_filtrado2_", as.character(info[1, 1])))
#
# lista_salarios <- dados_rais$Vl.Remun.Média.Nom %>% unique()
# lista_idade <- dados_rais$Idade %>% unique()
# lista_horas <- dados_rais$Qtd.Hora.Contr %>% unique()
#
# lista_salarios2 <- dados_rais2$Vl.Remun.Média.Nom %>% unique()
# lista_idade2 <- dados_rais2$Idade %>% unique()
# lista_horas2 <- dados_rais2$Qtd.Hora.Contr %>% unique()
dados_geral <- readRDS(paste0("dados_", as.character(info[1, 1])))
# updateSliderInput(session, "salario_rais", min = min(lista_salarios), max = max(lista_salarios), value = c(min(lista_salarios2), max(lista_salarios2)))
updateSliderInput(session, "salario_rais", min = dados_geral$Rais$VL.Remun.Méd.NomMinMax[1], max = dados_geral$Rais$VL.Remun.Méd.NomMinMax[2], value = c(dados_geral$Rais$VL.Remun.Méd.Nom[1], dados_geral$Rais$VL.Remun.Méd.Nom[2]))
# updateSliderInput(session, "idade_rais", min = min(lista_idade), max = max(lista_idade), value = c(min(lista_idade2), max(lista_idade2)))
updateSliderInput(session, "idade_rais", min = dados_geral$Rais$IdadeMinMax[1], max = dados_geral$Rais$IdadeMinMax[2], value = c(dados_geral$Rais$Idade[1], dados_geral$Rais$Idade[2]))
# updateSliderInput(session, "horas_rais", min = min(lista_horas), max = max(lista_horas), value = c(min(lista_horas2), max(lista_horas2)))
updateSliderInput(session, "horas_rais", min = dados_geral$Rais$Qtd.Hora.ContrMinMax[1], max = dados_geral$Rais$Qtd.Hora.ContrMinMax[2], value = c(dados_geral$Rais$Qtd.Hora.Contr[1], dados_geral$Rais$Qtd.Hora.Contr[2]))
}
}
})
# Esconder box com os filtros
observeEvent(input$filtros_2, {
shinyjs::hide("filtros")
shinyjs::hide("filtros_rais")
shinyjs::hide("filtros_2")
shinyjs::show("filtros_1")
})
atualizar <- function(){
if(seletor_base() == TRUE){
salario_remuneracao <- "Salário"
amostras_registros <- "Amostras"
entrada_ativo <- "Entrada"
saida_inativo <- "Saída"
if(file.exists(paste0("caged_filtrado2_", as.character(info[1, 1])))){
# dados_caged <- readRDS(file = paste0("caged_filtrado2_", as.character(info[1, 1])))
dados_resumo <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
minimo <- dados_resumo$Caged$SalarioMin
media <- dados_resumo$Caged$SalarioMed
maximo <- dados_resumo$Caged$SalarioMax
sd <- dados_resumo$Caged$SalarioSd
minimo_permanencia <- dados_resumo$Caged$PermanenciaMin
media_permanencia <- dados_resumo$Caged$PermanenciaMed
maximo_permanencia <- dados_resumo$Caged$PermanenciaMax
salario_1q <- dados_resumo$Caged$Salario1q
salario_2q <- dados_resumo$Caged$Salario2q
salario_3q <- dados_resumo$Caged$Salario3q
salario_4q <- dados_resumo$Caged$Salario4q
amostras_total <- dados_resumo$Caged$AmostrasTotal
amostras_entrada <- dados_resumo$Caged$AmostrasEntrada
amostras_saida <- dados_resumo$Caged$AmostrasSaida
homens <- dados_resumo$Caged$AmostrasHomens
mulheres <- dados_resumo$Caged$AmostrasMulheres
homens_fertil <- dados_resumo$Caged$AmostrasHomensFertil
mulheres_fertil <- dados_resumo$Caged$AmostrasMulheresFertil
output$salario_boxplot <- renderPlotly({
# dados_box_plot <- select(dados_caged, Salário.Mensal)
#
# m <- list(
# l = 0,
# r = 0,
# b = 0,
# t = 0,
# pad = 0
# )
#
# cores <- c("#08088A")
#
# fig <- plot_ly(data=dados_box_plot, y = ~Salário.Mensal, type = "box", height = 150, width = 150, color = cores)
# fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
# xaxis = list(title = NULL, showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
# yaxis = list(title = NULL, showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
#
# fig
})
output$donut_amostras <- renderPlotly({
df <- data.frame(amostras = c("Entrada", "Saída"),
count = c(amostras_entrada, amostras_saida))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#088A29", "#DF0101")
# cores <- c("#04B486", "#0B610B") # verde
#
# cores <- c("#8181F7", "#08088A") # azul
#
# cores <- c("#86B404", "#886A08") # marrom
fig <- df %>% plot_ly(labels = ~amostras, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_homem_mulher <- renderPlotly({
df <- data.frame(genero = c("Homem", "Mulher"),
count = c(homens, mulheres))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#08088A", "#FF8000")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_homem_fertil <- renderPlotly({
df <- data.frame(genero = c("Outros", "Idade Fértil"),
count = c(homens-homens_fertil, homens_fertil))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#848484", "#08088A")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_mulher_fertil <- renderPlotly({
df <- data.frame(genero = c("Outros", "Idade Fértil"),
count = c(mulheres-mulheres_fertil, mulheres_fertil))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#848484", "#FF8000")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$tabela_filtrada_caged <- DT::renderDataTable(DT::datatable({
# dados_caged
}, options = list(pageLength = 12, dom = "tp", scrollX = TRUE, scrollY = TRUE), filter = "top", rownames = FALSE, selection = "single"))
output$GrafDemoSexoIdadeSalario <- renderPlotly({
age <- rep(1:5, 2)
sex <- rep(c('Male', 'Female'), each = 5)
pop <- c(-1000, -944, -888, -762, -667, 1100, 999, 844, 789, 655)
df <- data.frame(age, sex, pop) %>%
mutate(abs_pop = abs(pop))
plot_ly(df, x = pop, y = age, split = sex, type = 'bar', orientation = 'h',
hoverinfo = 'y+text+name', text = df$abs_pop) %>%
layout(bargap = 0.1, barmode = 'overlay',
xaxis = list(tickmode = 'array', tickvals = c(-1000, -500, 0, 500, 1000),
ticktext = c('1000', '500', '0', '500', '1000')))
})
}else{
dados_caged <- data.frame()
minimo <- 0
media <- 0
maximo <- 0
sd <- 0
minimo_permanencia <- 0
media_permanencia <- 0
maximo_permanencia <- 0
salario_1q <- 0
salario_2q <- 0
salario_3q <- 0
salario_4q <- 0
amostras_total <- 0
amostras_entrada <- 0
amostras_saida <- 0
homens <- 0
mulheres <- 0
homens_fertil <- 0
mulheres_fertil <- 0
output$salario_boxplot <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_amostras <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_homem_mulher <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_homem_fertil <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_mulher_fertil <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$tabela_filtrada_caged <- DT::renderDataTable(DT::datatable({
dados_caged
}, options = list(pageLength = 12, dom = "tp", scrollX = TRUE, scrollY = TRUE), filter = "top", rownames = FALSE, selection = "single"))
}
}else{
salario_remuneracao <- "Remuneração Média"
amostras_registros <- "Registros em Dezembro"
entrada_ativo <- "Ativo"
saida_inativo <- "Inativo"
if(file.exists(paste0("rais_filtrado2_", as.character(info[1, 1])))){
# dados_rais <- readRDS(file = paste0("rais_filtrado2_", as.character(info[1, 1])))
dados_resumo <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
minimo <- dados_resumo$Rais$RemuneracaoMin
media <- dados_resumo$Rais$RemuneracaoMed
maximo <- dados_resumo$Rais$RemuneracaoMax
sd <- dados_resumo$Rais$RemuneracaoSd
minimo_permanencia <- dados_resumo$Rais$PermanenciaMin
media_permanencia <- dados_resumo$Rais$PermanenciaMed
maximo_permanencia <- dados_resumo$Rais$PermanenciaMax
salario_1q <- dados_resumo$Rais$Remuneracao1q
salario_2q <- dados_resumo$Rais$Remuneracao2q
salario_3q <- dados_resumo$Rais$Remuneracao3q
salario_4q <- dados_resumo$Rais$Remuneracao4q
amostras_total <- dados_resumo$Rais$RegistrosTotal
amostras_entrada <- dados_resumo$Rais$RegistrosEntrada
amostras_saida <- dados_resumo$Rais$RegistrosSaida
homens <- dados_resumo$Rais$RegistrosHomens
mulheres <- dados_resumo$Rais$RegistrosMulheres
homens_fertil <- dados_resumo$Rais$RegistrosHomensFertil
mulheres_fertil <- dados_resumo$Rais$RegistrosMulheresFertil
# output$salario_boxplot <- renderPlotly({
#
# dados_box_plot <- select(dados_rais, Vl.Remun.Média.Nom)
#
# m <- list(
# l = 0,
# r = 0,
# b = 0,
# t = 0,
# pad = 0
# )
#
# cores <- c("#08088A")
#
# fig <- plot_ly(data=dados_box_plot, y = ~Vl.Remun.Média.Nom, type = "box", height = 150, width = 150, color = cores)
# fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
# xaxis = list(title = NULL, showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
# yaxis = list(title = NULL, showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
#
# fig
#
# })
output$donut_amostras <- renderPlotly({
df <- data.frame(amostras = c("Entrada", "Saída"),
count = c(amostras_entrada, amostras_saida))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#088A29", "#DF0101")
# cores <- c("#04B486", "#0B610B") # verde
#
# cores <- c("#8181F7", "#08088A") # azul
#
# cores <- c("#86B404", "#886A08") # marrom
fig <- df %>% plot_ly(labels = ~amostras, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_homem_mulher <- renderPlotly({
df <- data.frame(genero = c("Homem", "Mulher"),
count = c(homens, mulheres))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#08088A", "#FF8000")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_homem_fertil <- renderPlotly({
df <- data.frame(genero = c("Outros", "Idade Fértil"),
count = c(homens-homens_fertil, homens_fertil))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#848484", "#08088A")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_mulher_fertil <- renderPlotly({
df <- data.frame(genero = c("Outros", "Idade Fértil"),
count = c(mulheres-mulheres_fertil, mulheres_fertil))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#848484", "#FF8000")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
# output$tabela_filtrada_caged <- DT::renderDataTable(DT::datatable({
#
# dados_rais
#
# }, options = list(pageLength = 12, dom = "tp", scrollX = TRUE, scrollY = TRUE), filter = "top", rownames = FALSE, selection = "single"))
}else{
dados_rais <- data.frame()
minimo <- 0
media <- 0
maximo <- 0
sd <- 0
minimo_permanencia <- 0
media_permanencia <- 0
maximo_permanencia <- 0
salario_1q <- 0
salario_2q <- 0
salario_3q <- 0
salario_4q <- 0
amostras_total <- 0
amostras_entrada <- 0
amostras_saida <- 0
homens <- 0
mulheres <- 0
homens_fertil <- 0
mulheres_fertil <- 0
output$salario_boxplot <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_amostras <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_homem_mulher <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_homem_fertil <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_mulher_fertil <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$tabela_filtrada_caged <- DT::renderDataTable(DT::datatable({
dados_rais
}, options = list(pageLength = 12, dom = "tp", scrollX = TRUE, scrollY = TRUE), filter = "top", rownames = FALSE, selection = "single"))
}
}
output$salario_remuneracao <- renderText({
paste0("<h4><b>", salario_remuneracao, "</b></h4>")
})
output$amostras_registros <- renderText({
paste0("<h4><b>", amostras_registros, "</b></h4>")
})
output$entrada_ativo <- renderText({
paste0("<font style='font-size:12px;'>", entrada_ativo, "</font>")
})
output$saida_inativo <- renderText({
paste0("<font style='font-size:12px;'>", saida_inativo, "</font>")
})
output$valor_salario_minimo <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(minimo, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Mín: ", format(round(minimo, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_medio <- renderText({
paste0("<font color=\"#000000\" style='font-size:14px;'><b>", format(round(media, 2), decimal.mark = ",", big.mark = "."), "</b></font>")
# paste0("Méd: ", format(round(media, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_maximo <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(maximo, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Máx: ", format(round(maximo, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_sd <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(sd, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("sd: ", format(round(sd, 2), decimal.mark = ",", big.mark = "."))
})
output$permanencia_minima <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(minimo_permanencia, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Mín: ", format(round(minimo_permanencia, 2), decimal.mark = ",", big.mark = "."))
})
output$permanencia_media <- renderText({
paste0("<font color=\"#000000\" style='font-size:14px;'><b>", format(round(media_permanencia, 2), decimal.mark = ",", big.mark = "."), "</b></font>")
# paste0("Méd: ", format(round(media_permanencia, 2), decimal.mark = ",", big.mark = "."))
})
output$permanencia_maxima <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(maximo_permanencia, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Máx: ", format(round(maximo_permanencia, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_1q <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(salario_1q, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("1Q: ", format(round(salario_1q, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_2q <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(salario_2q, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("2Q: ", format(round(salario_2q, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_3q <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(salario_3q, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("3Q: ", format(round(salario_3q, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_4q <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(salario_4q, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("3Q: ", format(round(salario_3q, 2), decimal.mark = ",", big.mark = "."))
})
output$amostras_total <- renderText({
paste0("<font color=\"#000000\" style='font-size:14px;'><b>", format(round(amostras_total, 2), decimal.mark = ",", big.mark = "."), "</b></font>")
# paste0("Total: ", format(amostras_total, decimal.mark = ",", big.mark = "."))
})
output$amostras_entrada <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(amostras_entrada, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Entrada: ", format(amostras_entrada, decimal.mark = ",", big.mark = "."))
})
output$amostras_saida <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(amostras_saida, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Saída: ", format(amostras_saida, decimal.mark = ",", big.mark = "."))
})
output$homens <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(homens, 2), decimal.mark = ",", big.mark = "."), "</font>")
})
output$mulheres <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(mulheres, 2), decimal.mark = ",", big.mark = "."), "</font>")
})
output$homens_fertil_titulo <- renderText({
paste0("<font color=\"#000000\" style='font-size:14px;'><b>Idade Fértil</b></font>")
})
output$homens_fertil <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(homens_fertil, 2), decimal.mark = ",", big.mark = "."), "</font>")
})
output$mulheres_fertil <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(mulheres_fertil, 2), decimal.mark = ",", big.mark = "."), "</font>")
})
}
atualizarResultados <- function(){
if(seletor_base() == TRUE){
salario_remuneracao <- "Salário"
amostras_registros <- "Amostras"
entrada_ativo <- "Entrada"
saida_inativo <- "Saída"
if(file.exists(paste0("caged_filtrado2_", as.character(info[1, 1])))){
dados_caged <- readRDS(file = paste0("caged_filtrado2_", as.character(info[1, 1])))
dados_resumo <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
minimo <- dados_resumo$Caged$SalarioMin
media <- dados_resumo$Caged$SalarioMed
maximo <- dados_resumo$Caged$SalarioMax
sd <- dados_resumo$Caged$SalarioSd
minimo_permanencia <- dados_resumo$Caged$PermanenciaMin
media_permanencia <- dados_resumo$Caged$PermanenciaMed
maximo_permanencia <- dados_resumo$Caged$PermanenciaMax
salario_1q <- dados_resumo$Caged$Salario1q
salario_2q <- dados_resumo$Caged$Salario2q
salario_3q <- dados_resumo$Caged$Salario3q
salario_4q <- dados_resumo$Caged$Salario4q
amostras_total <- dados_resumo$Caged$AmostrasTotal
amostras_entrada <- dados_resumo$Caged$AmostrasEntrada
amostras_saida <- dados_resumo$Caged$AmostrasSaida
homens <- dados_resumo$Caged$AmostrasHomens
mulheres <- dados_resumo$Caged$AmostrasMulheres
homens_fertil <- dados_resumo$Caged$AmostrasHomensFertil
mulheres_fertil <- dados_resumo$Caged$AmostrasMulheresFertil
output$salario_boxplot <- renderPlotly({
# dados_box_plot <- select(dados_caged, Salário.Mensal)
#
# m <- list(
# l = 0,
# r = 0,
# b = 0,
# t = 0,
# pad = 0
# )
#
# cores <- c("#08088A")
#
# fig <- plot_ly(data=dados_box_plot, y = ~Salário.Mensal, type = "box", height = 150, width = 150, color = cores)
# fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
# xaxis = list(title = NULL, showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
# yaxis = list(title = NULL, showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
#
# fig
})
output$donut_amostras <- renderPlotly({
df <- data.frame(amostras = c("Entrada", "Saída"),
count = c(amostras_entrada, amostras_saida))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#088A29", "#DF0101")
# cores <- c("#04B486", "#0B610B") # verde
#
# cores <- c("#8181F7", "#08088A") # azul
#
# cores <- c("#86B404", "#886A08") # marrom
fig <- df %>% plot_ly(labels = ~amostras, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_homem_mulher <- renderPlotly({
df <- data.frame(genero = c("Homem", "Mulher"),
count = c(homens, mulheres))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#08088A", "#FF8000")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_homem_fertil <- renderPlotly({
df <- data.frame(genero = c("Outros", "Idade Fértil"),
count = c(homens-homens_fertil, homens_fertil))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#848484", "#08088A")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_mulher_fertil <- renderPlotly({
df <- data.frame(genero = c("Outros", "Idade Fértil"),
count = c(mulheres-mulheres_fertil, mulheres_fertil))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#848484", "#FF8000")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$tabela_filtrada_caged <- DT::renderDataTable(DT::datatable({
dados_caged
}, options = list(pageLength = 12, dom = "tp", scrollX = TRUE, scrollY = TRUE), filter = "top", rownames = FALSE, selection = "single"))
output$GrafDemoSexoIdadeSalario <- renderPlotly({
age <- rep(1:5, 2)
sex <- rep(c('Male', 'Female'), each = 5)
pop <- c(-1000, -944, -888, -762, -667, 1100, 999, 844, 789, 655)
df <- data.frame(age, sex, pop) %>%
mutate(abs_pop = abs(pop))
plot_ly(df, x = pop, y = age, split = sex, type = 'bar', orientation = 'h',
hoverinfo = 'y+text+name', text = df$abs_pop) %>%
layout(bargap = 0.1, barmode = 'overlay',
xaxis = list(tickmode = 'array', tickvals = c(-1000, -500, 0, 500, 1000),
ticktext = c('1000', '500', '0', '500', '1000')))
})
}else{
dados_caged <- data.frame()
minimo <- 0
media <- 0
maximo <- 0
sd <- 0
minimo_permanencia <- 0
media_permanencia <- 0
maximo_permanencia <- 0
salario_1q <- 0
salario_2q <- 0
salario_3q <- 0
salario_4q <- 0
amostras_total <- 0
amostras_entrada <- 0
amostras_saida <- 0
homens <- 0
mulheres <- 0
homens_fertil <- 0
mulheres_fertil <- 0
output$salario_boxplot <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_amostras <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_homem_mulher <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_homem_fertil <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_mulher_fertil <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$tabela_filtrada_caged <- DT::renderDataTable(DT::datatable({
dados_caged
}, options = list(pageLength = 12, dom = "tp", scrollX = TRUE, scrollY = TRUE), filter = "top", rownames = FALSE, selection = "single"))
}
}else{
salario_remuneracao <- "Remuneração Média"
amostras_registros <- "Registros em Dezembro"
entrada_ativo <- "Ativo"
saida_inativo <- "Inativo"
if(file.exists(paste0("rais_filtrado2_", as.character(info[1, 1])))){
dados_rais <- readRDS(file = paste0("rais_filtrado2_", as.character(info[1, 1])))
dados_resumo <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
minimo <- dados_resumo$Rais$RemuneracaoMin
media <- dados_resumo$Rais$RemuneracaoMed
maximo <- dados_resumo$Rais$RemuneracaoMax
sd <- dados_resumo$Rais$RemuneracaoSd
minimo_permanencia <- dados_resumo$Rais$PermanenciaMin
media_permanencia <- dados_resumo$Rais$PermanenciaMed
maximo_permanencia <- dados_resumo$Rais$PermanenciaMax
salario_1q <- dados_resumo$Rais$Remuneracao1q
salario_2q <- dados_resumo$Rais$Remuneracao2q
salario_3q <- dados_resumo$Rais$Remuneracao3q
salario_4q <- dados_resumo$Rais$Remuneracao4q
amostras_total <- dados_resumo$Rais$RegistrosTotal
amostras_entrada <- dados_resumo$Rais$RegistrosEntrada
amostras_saida <- dados_resumo$Rais$RegistrosSaida
homens <- dados_resumo$Rais$RegistrosHomens
mulheres <- dados_resumo$Rais$RegistrosMulheres
homens_fertil <- dados_resumo$Rais$RegistrosHomensFertil
mulheres_fertil <- dados_resumo$Rais$RegistrosMulheresFertil
# output$salario_boxplot <- renderPlotly({
#
# dados_box_plot <- select(dados_rais, Vl.Remun.Média.Nom)
#
# m <- list(
# l = 0,
# r = 0,
# b = 0,
# t = 0,
# pad = 0
# )
#
# cores <- c("#08088A")
#
# fig <- plot_ly(data=dados_box_plot, y = ~Vl.Remun.Média.Nom, type = "box", height = 150, width = 150, color = cores)
# fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
# xaxis = list(title = NULL, showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
# yaxis = list(title = NULL, showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
#
# fig
#
# })
output$donut_amostras <- renderPlotly({
df <- data.frame(amostras = c("Entrada", "Saída"),
count = c(amostras_entrada, amostras_saida))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#088A29", "#DF0101")
# cores <- c("#04B486", "#0B610B") # verde
#
# cores <- c("#8181F7", "#08088A") # azul
#
# cores <- c("#86B404", "#886A08") # marrom
fig <- df %>% plot_ly(labels = ~amostras, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_homem_mulher <- renderPlotly({
df <- data.frame(genero = c("Homem", "Mulher"),
count = c(homens, mulheres))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#08088A", "#FF8000")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_homem_fertil <- renderPlotly({
df <- data.frame(genero = c("Outros", "Idade Fértil"),
count = c(homens-homens_fertil, homens_fertil))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#848484", "#08088A")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$donut_mulher_fertil <- renderPlotly({
df <- data.frame(genero = c("Outros", "Idade Fértil"),
count = c(mulheres-mulheres_fertil, mulheres_fertil))
m <- list(
l = 0,
r = 0,
b = 0,
t = 0,
pad = 0
)
cores <- c("#848484", "#FF8000")
fig <- df %>% plot_ly(labels = ~genero, values = ~count, height = 100, width = 100, textposition = "inside", textfont = list(size = 15, color = "#FFFFFF"), marker = list(colors = cores))
fig <- fig %>% add_pie(hole = 0.4)
fig <- fig %>% layout(title = NULL, showlegend = F, margin = m,
xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)) %>%
style(hoverinfo = 'none')
fig
})
output$tabela_filtrada_caged <- DT::renderDataTable(DT::datatable({
dados_rais
}, options = list(pageLength = 12, dom = "tp", scrollX = TRUE, scrollY = TRUE), filter = "top", rownames = FALSE, selection = "single"))
}else{
dados_rais <- data.frame()
minimo <- 0
media <- 0
maximo <- 0
sd <- 0
minimo_permanencia <- 0
media_permanencia <- 0
maximo_permanencia <- 0
salario_1q <- 0
salario_2q <- 0
salario_3q <- 0
salario_4q <- 0
amostras_total <- 0
amostras_entrada <- 0
amostras_saida <- 0
homens <- 0
mulheres <- 0
homens_fertil <- 0
mulheres_fertil <- 0
output$salario_boxplot <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_amostras <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_homem_mulher <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_homem_fertil <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$donut_mulher_fertil <- renderPlotly({
plotly_empty() %>%
config(staticPlot = TRUE)
})
output$tabela_filtrada_caged <- DT::renderDataTable(DT::datatable({
dados_rais
}, options = list(pageLength = 12, dom = "tp", scrollX = TRUE, scrollY = TRUE), filter = "top", rownames = FALSE, selection = "single"))
}
}
output$salario_remuneracao <- renderText({
paste0("<h4><b>", salario_remuneracao, "</b></h4>")
})
output$amostras_registros <- renderText({
paste0("<h4><b>", amostras_registros, "</b></h4>")
})
output$entrada_ativo <- renderText({
paste0("<font style='font-size:12px;'>", entrada_ativo, "</font>")
})
output$saida_inativo <- renderText({
paste0("<font style='font-size:12px;'>", saida_inativo, "</font>")
})
output$valor_salario_minimo <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(minimo, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Mín: ", format(round(minimo, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_medio <- renderText({
paste0("<font color=\"#000000\" style='font-size:14px;'><b>", format(round(media, 2), decimal.mark = ",", big.mark = "."), "</b></font>")
# paste0("Méd: ", format(round(media, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_maximo <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(maximo, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Máx: ", format(round(maximo, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_sd <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(sd, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("sd: ", format(round(sd, 2), decimal.mark = ",", big.mark = "."))
})
output$permanencia_minima <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(minimo_permanencia, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Mín: ", format(round(minimo_permanencia, 2), decimal.mark = ",", big.mark = "."))
})
output$permanencia_media <- renderText({
paste0("<font color=\"#000000\" style='font-size:14px;'><b>", format(round(media_permanencia, 2), decimal.mark = ",", big.mark = "."), "</b></font>")
# paste0("Méd: ", format(round(media_permanencia, 2), decimal.mark = ",", big.mark = "."))
})
output$permanencia_maxima <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(maximo_permanencia, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Máx: ", format(round(maximo_permanencia, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_1q <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(salario_1q, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("1Q: ", format(round(salario_1q, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_2q <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(salario_2q, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("2Q: ", format(round(salario_2q, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_3q <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(salario_3q, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("3Q: ", format(round(salario_3q, 2), decimal.mark = ",", big.mark = "."))
})
output$valor_salario_4q <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(salario_4q, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("3Q: ", format(round(salario_3q, 2), decimal.mark = ",", big.mark = "."))
})
output$amostras_total <- renderText({
paste0("<font color=\"#000000\" style='font-size:14px;'><b>", format(round(amostras_total, 2), decimal.mark = ",", big.mark = "."), "</b></font>")
# paste0("Total: ", format(amostras_total, decimal.mark = ",", big.mark = "."))
})
output$amostras_entrada <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(amostras_entrada, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Entrada: ", format(amostras_entrada, decimal.mark = ",", big.mark = "."))
})
output$amostras_saida <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(amostras_saida, 2), decimal.mark = ",", big.mark = "."), "</font>")
# paste0("Saída: ", format(amostras_saida, decimal.mark = ",", big.mark = "."))
})
output$homens <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(homens, 2), decimal.mark = ",", big.mark = "."), "</font>")
})
output$mulheres <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(mulheres, 2), decimal.mark = ",", big.mark = "."), "</font>")
})
output$homens_fertil_titulo <- renderText({
paste0("<font color=\"#000000\" style='font-size:14px;'><b>Idade Fértil</b></font>")
})
output$homens_fertil <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(homens_fertil, 2), decimal.mark = ",", big.mark = "."), "</font>")
})
output$mulheres_fertil <- renderText({
paste0("<font color=\"#000000\" style='font-size:12px;'>", format(round(mulheres_fertil, 2), decimal.mark = ",", big.mark = "."), "</font>")
})
}
# atualizar_dados <- function(){
#
# if(tab_selecionada == "resultados"){
#
# sendSweetAlert(session, title = "ok!")
#
# }
#
# }
observe({
if(tab() == "resultados"){
atualizar()
}
})
# Atualizar a tabela de acordo com os filtros
observeEvent(input$atualizar_dados_caged, {
shinybusy::show_modal_spinner()
atualizar()
shinybusy::remove_modal_spinner()
})
# Atualizar a tabela de acordo com os filtros
observeEvent(input$atualizar_dados_caged, {
shinybusy::show_modal_spinner()
atualizarResultados()
shinybusy::remove_modal_spinner()
})
observe({
if (input$regiao_caged != "TODAS") {
# sqlOutput_uf <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT sigla_uf FROM municipios_caged WHERE nome_grande_regiao = '" ,input$regiao_caged,"' ")) %>% as.data.frame()
sqlOutput_uf <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_grande_regiao == input$regiao_caged) %>% dplyr::select(sigla_uf) %>% unique()
reg <- c(sqlOutput_uf, "TODAS")
updatePickerInput(session, "uf_caged", choices = reg, selected = "TODAS")
}
})
observe({
if (input$regiao_rais != "TODAS") {
# sqlOutput_uf <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT sigla_uf FROM municipios_caged WHERE nome_grande_regiao = '" ,input$regiao_rais,"' ")) %>% as.data.frame()
sqlOutput_uf <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_grande_regiao == input$regiao_rais) %>% dplyr::select(sigla_uf) %>% unique()
reg <- c(sqlOutput_uf, "TODAS")
updatePickerInput(session, "uf_rais", choices = reg, selected = "TODAS")
}
})
observe({
if (input$uf_caged != "TODAS") {
# sqlOutput_municipio <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT nome_municipio FROM municipios_caged WHERE sigla_uf = '" ,input$uf_caged,"' ")) %>% as.data.frame()
sqlOutput_municipio <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(sigla_uf == input$uf_caged) %>% dplyr::select(nome_municipio) %>% unique()
muni <- c(sqlOutput_municipio)
updatePickerInput(session, "municipio_caged", choices = muni)
}
})
observe({
if (input$uf_rais != "TODAS") {
# sqlOutput_municipio <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT nome_municipio FROM municipios_caged WHERE sigla_uf = '" ,input$uf_rais,"' ")) %>% as.data.frame()
sqlOutput_municipio <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(sigla_uf == input$uf_rais) %>% dplyr::select(nome_municipio) %>% unique()
muni <- c(sqlOutput_municipio)
updatePickerInput(session, "municipio_rais", choices = muni)
}
})
#Select all CheckBox CAGED
observeEvent(input$select_all_config_geral_admitidos, {
if(input$select_all_config_geral_admitidos == 0){
return(NULL)
}else if (input$select_all_config_geral_admitidos%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_admitidos", choices=lista_config_geral_admitidos)
}else{
updateCheckboxGroupInput(session,"config_geral_admitidos", choices=lista_config_geral_admitidos, selected=lista_config_geral_admitidos)
}
})
observeEvent(input$select_all_config_geral_raca, {
if(input$select_all_config_geral_raca == 0){
return(NULL)
}else if (input$select_all_config_geral_raca%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_raca", choices=lista_config_geral_raca)
}else{
updateCheckboxGroupInput(session,"config_geral_raca", choices=lista_config_geral_raca, selected=lista_config_geral_raca)
}
})
observeEvent(input$select_all_config_geral_sexo, {
if(input$select_all_config_geral_sexo == 0){
return(NULL)
}else if (input$select_all_config_geral_sexo%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_sexo", choices=lista_config_geral_sexo)
}else{
updateCheckboxGroupInput(session,"config_geral_sexo", choices=lista_config_geral_sexo, selected=lista_config_geral_sexo)
}
})
observeEvent(input$select_all_config_geral_escolaridade, {
if(input$select_all_config_geral_escolaridade == 0){
return(NULL)
}else if (input$select_all_config_geral_escolaridade%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_escolaridade", choices=lista_config_geral_escolaridade)
}else{
updateCheckboxGroupInput(session,"config_geral_escolaridade", choices=lista_config_geral_escolaridade, selected=lista_config_geral_escolaridade)
}
})
observeEvent(input$select_all_config_geral_tipo_movimentacao, {
if(input$select_all_config_geral_tipo_movimentacao == 0){
return(NULL)
}else if (input$select_all_config_geral_tipo_movimentacao%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_tipo_movimentacao", choices=lista_config_geral_tipo_movimentacao)
}else{
updateCheckboxGroupInput(session,"config_geral_tipo_movimentacao", choices=lista_config_geral_tipo_movimentacao, selected=lista_config_geral_tipo_movimentacao)
}
})
observeEvent(input$select_all_config_geral_porte_empresa, {
if(input$select_all_config_geral_porte_empresa == 0){
return(NULL)
}else if (input$select_all_config_geral_porte_empresa%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_porte_empresa", choices=lista_config_geral_porte_empresa)
}else{
updateCheckboxGroupInput(session,"config_geral_porte_empresa", choices=lista_config_geral_porte_empresa, selected=lista_config_geral_porte_empresa)
}
})
# Select all checkbox RAIS
# Vínculo Ativo
observeEvent(input$select_all_vinculo_ativo_rais, {
if(input$select_all_vinculo_ativo_rais == 0){
return(NULL)
}else if (input$select_all_vinculo_ativo_rais%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_vinculo_ativo_rais", choices=lista_vinculo_ativo_rais)
}else{
updateCheckboxGroupInput(session,"config_geral_vinculo_ativo_rais", choices=lista_vinculo_ativo_rais, selected=lista_vinculo_ativo_rais)
}
})
# Raça
observeEvent(input$select_all_raca_rais, {
if(input$select_all_raca_rais == 0){
return(NULL)
}else if (input$select_all_raca_rais%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_raca_rais", choices=lista_raca_rais)
}else{
updateCheckboxGroupInput(session,"config_geral_raca_rais", choices=lista_raca_rais, selected=lista_raca_rais)
}
})
# Gênero
observeEvent(input$select_all_genero_rais, {
if(input$select_all_genero_rais == 0){
return(NULL)
}else if (input$select_all_genero_rais%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_genero_rais", choices=lista_sexo_rais)
}else{
updateCheckboxGroupInput(session,"config_geral_genero_rais", choices=lista_sexo_rais, selected=lista_sexo_rais)
}
})
# Escolaridade
observeEvent(input$select_all_escolaridade_rais, {
if(input$select_all_escolaridade_rais == 0){
return(NULL)
}else if (input$select_all_escolaridade_rais%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_escolaridade_rais", choices=lista_escolaridade_rais)
}else{
updateCheckboxGroupInput(session,"config_geral_escolaridade_rais", choices=lista_escolaridade_rais, selected=lista_escolaridade_rais)
}
})
# Porte da empresa
observeEvent(input$select_all_porte_empresa_rais, {
if(input$select_all_porte_empresa_rais == 0){
return(NULL)
}else if (input$select_all_porte_empresa_rais%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_porte_empresa_rais", choices=lista_tamanho_estabelecimento_rais)
}else{
updateCheckboxGroupInput(session,"config_geral_porte_empresa_rais", choices=lista_tamanho_estabelecimento_rais, selected=lista_tamanho_estabelecimento_rais)
}
})
# Motivo do desligamento
observeEvent(input$select_all_motivo_desligamento_rais, {
if(input$select_all_motivo_desligamento_rais == 0){
return(NULL)
}else if (input$select_all_motivo_desligamento_rais%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_motivo_desligamento_rais", choices=lista_motivo_desligamento_rais)
}else{
updateCheckboxGroupInput(session,"config_geral_motivo_desligamento_rais", choices=lista_motivo_desligamento_rais, selected=lista_motivo_desligamento_rais)
}
})
# Tipo de Admissão
observeEvent(input$select_all_tipo_admissao_rais, {
if(input$select_all_tipo_admissao_rais == 0){
return(NULL)
}else if (input$select_all_tipo_admissao_rais%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_tipo_admissao_rais", choices=lista_tipo_admissao_rais)
}else{
updateCheckboxGroupInput(session,"config_geral_tipo_admissao_rais", choices=lista_tipo_admissao_rais, selected=lista_tipo_admissao_rais)
}
})
# Tipo de Vínculo
observeEvent(input$select_all_tipo_vinculo_rais, {
if(input$select_all_tipo_vinculo_rais == 0){
return(NULL)
}else if (input$select_all_tipo_vinculo_rais%%2 == 0){
updateCheckboxGroupInput(session,"config_geral_tipo_vinculo_rais", choices=lista_tipo_vinculo_rais)
}else{
updateCheckboxGroupInput(session,"config_geral_tipo_vinculo_rais", choices=lista_tipo_vinculo_rais, selected=lista_tipo_vinculo_rais)
}
})
# observeEvent(input$select_all_config_geral_indicacao_contrato_parcial, {
#
# if(input$select_all_config_geral_indicacao_contrato_parcial == 0){
#
# return(NULL)
#
# }else if (input$select_all_config_geral_indicacao_contrato_parcial%%2 == 0){
#
# updateCheckboxGroupInput(session,"config_geral_indicacao_contrato_parcial", choices=lista_config_geral_indicacao_contrato_parcial)
#
# }else{
#
# updateCheckboxGroupInput(session,"config_geral_indicacao_contrato_parcial", choices=lista_config_geral_indicacao_contrato_parcial, selected=lista_config_geral_indicacao_contrato_parcial)
# }
#
# })
# observeEvent(input$select_all_config_geral_indicacao_contrato_intermitente, {
#
# if(input$select_all_config_geral_indicacao_contrato_intermitente == 0){
#
# return(NULL)
#
# }else if (input$select_all_config_geral_indicacao_contrato_intermitente%%2 == 0){
#
# updateCheckboxGroupInput(session,"config_geral_indicacao_contrato_intermitente", choices=lista_config_geral_indicacao_contrato_intermitente)
#
# }else{
#
# updateCheckboxGroupInput(session,"config_geral_indicacao_contrato_intermitente", choices=lista_config_geral_indicacao_contrato_intermitente, selected=lista_config_geral_indicacao_contrato_intermitente)
# }
#
# })
observeEvent(input$add_mun, {
if(input$municipio_caged == ""){
if(input$uf_caged == "TODAS"){
if(input$regiao_caged == "TODAS"){
}else{
# sqlOutput_regiao <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_grande_regiao, nome_grande_regiao FROM municipios_caged WHERE nome_grande_regiao = '" ,input$regiao_caged,"' ")) %>% as.data.frame()
sqlOutput_regiao <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_grande_regiao == input$regiao_caged) %>% dplyr::select(codigo_grande_regiao, nome_grande_regiao) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Caged$Município
names(sqlOutput_regiao)[1] <- "Código"
names(sqlOutput_regiao)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_regiao) %>% unique()
dados_geral$Caged$Município <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados()
}
}else{
# sqlOutput_uf <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_uf, sigla_uf FROM municipios_caged WHERE sigla_uf = '" ,input$uf_caged,"' ")) %>% as.data.frame()
sqlOutput_uf <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(sigla_uf == input$uf_caged) %>% dplyr::select(codigo_uf, sigla_uf) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Caged$Município
names(sqlOutput_uf)[1] <- "Código"
names(sqlOutput_uf)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_uf) %>% unique()
dados_geral$Caged$Município <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados()
}
}else{
# sqlOutput_mun <- RSQLite::dbGetQuery(canal, paste0('SELECT DISTINCT codigo_municipio, nome_municipio FROM municipios_caged WHERE nome_municipio = "' , input$municipio_caged, '" AND sigla_uf = "', input$uf_caged, '"')) %>% as.data.frame()
sqlOutput_mun <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_municipio == input$municipio_caged & sigla_uf == input$uf_caged) %>% dplyr::select(codigo_municipio, nome_municipio) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Caged$Município
names(sqlOutput_mun)[1] <- "Código"
names(sqlOutput_mun)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_mun) %>% unique()
dados_geral$Caged$Município <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados()
}
})
observeEvent(input$add_mun_rais, {
if(input$municipio_rais == ""){
if(input$uf_rais == "TODAS"){
if(input$regiao_rais == "TODAS"){
}else{
# sqlOutput_regiao <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_grande_regiao, nome_grande_regiao FROM municipios_caged WHERE nome_grande_regiao = '" ,input$regiao_rais,"' ")) %>% as.data.frame()
sqlOutput_regiao <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_grande_regiao == input$regiao_rais) %>% dplyr::select(codigo_grande_regiao, nome_grande_regiao) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Rais$Município
names(sqlOutput_regiao)[1] <- "Código"
names(sqlOutput_regiao)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_regiao) %>% unique()
dados_geral$Rais$Município <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados_rais()
}
}else{
# sqlOutput_uf <- RSQLite::dbGetQuery(canal, paste0("SELECT DISTINCT codigo_uf, sigla_uf FROM municipios_caged WHERE sigla_uf = '" ,input$uf_rais,"' ")) %>% as.data.frame()
sqlOutput_uf <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(sigla_uf == input$uf_rais) %>% dplyr::select(codigo_uf, sigla_uf) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Rais$Município
names(sqlOutput_uf)[1] <- "Código"
names(sqlOutput_uf)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_uf) %>% unique()
dados_geral$Rais$Município <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados_rais()
}
}else{
# sqlOutput_mun <- RSQLite::dbGetQuery(canal, paste0('SELECT DISTINCT codigo_municipio, nome_municipio FROM municipios_caged WHERE nome_municipio = "' , input$municipio_rais, '" AND sigla_uf = "', input$uf_rais, '"')) %>% as.data.frame()
sqlOutput_mun <- Dados::ListaMunicipios %>% as.data.frame() %>% subset(nome_municipio == input$municipio_rais & sigla_uf == input$uf_rais) %>% dplyr::select(codigo_municipio, nome_municipio) %>% unique()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- dados_geral$Rais$Município
names(sqlOutput_mun)[1] <- "Código"
names(sqlOutput_mun)[2] <- "Município"
municipio <- rbind(municipio, sqlOutput_mun) %>% unique()
dados_geral$Rais$Município <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados_rais()
}
})
observeEvent(input$limpar_municipio, {
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- data.frame("Código" = c(""),
"Município" = c(""), stringsAsFactors = FALSE)
dados_geral$Caged$Município <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados()
})
observeEvent(input$limpar_municipio_rais, {
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
municipio <- data.frame("Código" = c(""),
"Município" = c(""), stringsAsFactors = FALSE)
dados_geral$Rais$Município <- municipio
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
carrega_municipios_selecionados_rais()
})
observeEvent(input$gera_resultado, {
shinybusy::show_modal_spinner()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
if(seletor_base() == TRUE){
dados_geral$Caged$Salário.Mensal[1] <- input$salario[1]
dados_geral$Caged$Salário.Mensal[2] <- input$salario[2]
dados_geral$Caged$Idade[1] <- input$idade[1]
dados_geral$Caged$Idade[2] <- input$idade[2]
dados_geral$Caged$Qtd.Hora.Contrat[1] <- input$horas[1]
dados_geral$Caged$Qtd.Hora.Contrat[2] <- input$horas[2]
dados_geral$Caged$Admitidos.Desligados <- input$config_geral_admitidos
dados_geral$Caged$Grau.Instrução <- input$config_geral_escolaridade
dados_geral$Caged$Raça.Cor <- input$config_geral_raca
dados_geral$Caged$Sexo <- input$config_geral_sexo
dados_geral$Caged$Tipo.Mov.Desagregado <- input$config_geral_tipo_movimentacao
dados_geral$Caged$Faixa.Empr.Início.Jan <- input$config_geral_porte_empresa
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
dados_caged <- readRDS(paste0("caged_filtrado_", as.character(info[1, 1])))
# # Filtro de salario
# minimo_salario <- input$salario[1]
# maximo_salario <- input$salario[2]
# dados_caged <- subset(dados_caged, Salário.Mensal >= minimo_salario & Salário.Mensal <= maximo_salario)
#
# # Filtro de idade
# minimo_idade <- input$idade[1]
# maximo_idade <- input$idade[2]
# dados_caged <- subset(dados_caged, Idade >= minimo_idade & Idade <= maximo_idade)
#
# # Filtro de horas
# minimo_horas <- input$horas[1]
# maximo_horas <- input$horas[2]
# dados_caged <- subset(dados_caged, Qtd.Hora.Contrat >= minimo_horas & Qtd.Hora.Contrat <= maximo_horas)
#
# #Filtro admitidos/desligados
# admitidos <- as.numeric(input$config_geral_admitidos)
# dados_caged <- subset(dados_caged, Admitidos.Desligados%in%admitidos)
#
# #Filtro raca
# raca <- as.numeric(input$config_geral_raca)
# dados_caged <- subset(dados_caged, Raça.Cor%in%raca)
#
# #Filtro genero
# genero <- as.numeric(input$config_geral_sexo)
# dados_caged <- subset(dados_caged, Sexo%in%genero)
#
# #Filtro escolaridade
# escolaridade <- as.numeric(input$config_geral_escolaridade)
# dados_caged <- subset(dados_caged, Grau.Instrução%in%escolaridade)
#
# #Filtro tipo de movimentacao
# tipo_movimentacao <- as.numeric(input$config_geral_tipo_movimentacao)
# dados_caged <- subset(dados_caged, Tipo.Mov.Desagregado%in%tipo_movimentacao)
#
# #Filtro porte da empresa
# porte_empresa <- as.numeric(input$config_geral_porte_empresa)
# dados_caged <- subset(dados_caged, Faixa.Empr.Início.Jan%in%porte_empresa)
#
# # #Filtro contrato parcial
# # contrato_parcial <- as.numeric(input$config_geral_sexo)
# # dados_caged <- subset(dados_caged, Sexo%in%contrato_parcial)
# #
# # #Filtro contrato intermitente
# # contrato_intermitente <- as.numeric(input$config_geral_sexo)
# # dados_caged <- subset(dados_caged, Sexo%in%contrato_intermitente)
dados_caged <- subset(dados_caged,
Salário.Mensal >= dados_geral$Caged$Salário.Mensal[1] & Salário.Mensal <= dados_geral$Caged$Salário.Mensal[2] &
Idade >= dados_geral$Caged$Idade[1] & Idade <= dados_geral$Caged$Idade[2] &
Qtd.Hora.Contrat >= dados_geral$Caged$Qtd.Hora.Contrat[1] & Qtd.Hora.Contrat <= dados_geral$Caged$Qtd.Hora.Contrat[2] &
Admitidos.Desligados %in% dados_geral$Caged$Admitidos.Desligados &
Raça.Cor %in% dados_geral$Caged$Raça.Cor &
Sexo %in% dados_geral$Caged$Sexo &
Grau.Instrução %in% dados_geral$Caged$Grau.Instrução &
Tipo.Mov.Desagregado %in% dados_geral$Caged$Tipo.Mov.Desagregado &
Faixa.Empr.Início.Jan %in% dados_geral$Caged$Faixa.Empr.Início.Jan)
# Filtro municipios
municipio <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Caged$Município
municipio <- municipio[-1,]
if(nrow(municipio) > 0){
texto_municipio <- paste0("dados_caged <- subset(dados_caged, substr(Município, 1, nchar(", municipio[1,1], ")) == '", if(nchar(municipio[1,1]) == 7) {substr(municipio[1,1], 1, 6)}else{municipio[1,1]}, "'")
if(nrow(municipio) > 1){
for (xx in 2:nrow(municipio)) {
texto_municipio <- paste0(texto_municipio, " | substr(Município, 1, nchar(", municipio[xx,1], ")) == '", if(nchar(municipio[xx,1]) == 7) {substr(municipio[1,1], 1, 6)}else{municipio[xx,1]}, "'")
}
}
texto_municipio <- paste0(texto_municipio, ")")
eval(parse(text = as.character(texto_municipio)))
}
# sendSweetAlert(session, title = texto_municipio)
dados_caged <- dados_caged %>%
dplyr::mutate(media_salario = mean(Salário.Mensal),
sd_salario = sd(Salário.Mensal),
n_amostras = length(Salário.Mensal),
n_entrada = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada = mean(Salário.Mensal[Admitidos.Desligados == 1]),
media_salario_saida = mean(Salário.Mensal[Admitidos.Desligados == 2]),
media_permanencia = mean(Tempo.Emprego))
dados_caged <- dados_caged %>%
dplyr::group_by(Competência.Declarada, Município) %>%
dplyr::mutate(media_salario_municipio_ref = mean(Salário.Mensal),
sd_salario_municipio_ref = sd(Salário.Mensal),
n_amostras_municipio_ref = length(Salário.Mensal),
n_entrada_municipio_ref = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida_municipio_ref = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada_municipio_ref = mean(Salário.Mensal[Admitidos.Desligados == 1]),
media_salario_saida_municipio_ref = mean(Salário.Mensal[Admitidos.Desligados == 2]),
media_permanencia_municipio_ref = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada no Município
dados_caged <- dados_caged %>%
dplyr::group_by(Município) %>%
dplyr::mutate(media_salario_municipio = mean(Salário.Mensal),
sd_salario_municipio = sd(Salário.Mensal),
n_amostras_municipio = length(Salário.Mensal),
n_entrada_municipio = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida_municipio = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada_municipio = mean(Salário.Mensal[Admitidos.Desligados == 1]),
media_salario_saida_municipio = mean(Salário.Mensal[Admitidos.Desligados == 2]),
media_permanencia_municipio = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
dados_caged <- dados_caged %>%
dplyr::group_by(Competência.Declarada, UF) %>%
dplyr::mutate(media_salario_uf_ref = mean(Salário.Mensal),
sd_salario_uf_ref = sd(Salário.Mensal),
n_amostras_uf_ref = length(Salário.Mensal),
n_entrada_uf_ref = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida_uf_ref = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada_uf_ref = mean(Salário.Mensal[Admitidos.Desligados == 1]),
media_salario_saida_uf_ref = mean(Salário.Mensal[Admitidos.Desligados == 2]),
media_permanencia_uf_ref = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na UF
dados_caged <- dados_caged %>%
dplyr::group_by(UF) %>%
dplyr::mutate(media_salario_uf = mean(Salário.Mensal),
sd_salario_uf = sd(Salário.Mensal),
n_amostras_uf = length(Salário.Mensal),
n_entrada_uf = length(Salário.Mensal[Admitidos.Desligados == 1]),
n_saida_uf = length(Salário.Mensal[Admitidos.Desligados == 2]),
media_salario_entrada_uf = mean(Salário.Mensal[Admitidos.Desligados == 1]),
media_salario_saida_uf = mean(Salário.Mensal[Admitidos.Desligados == 2]),
media_permanencia_uf = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
saveRDS(dados_caged, file = paste0("caged_filtrado2_", as.character(info[1, 1])))
dados_caged$media_salario_entrada_uf_ref <- ifelse(is.nan(dados_caged$media_salario_entrada_uf_ref), 0, dados_caged$media_salario_entrada_uf_ref)
dados_caged$media_salario_saida_uf_ref <- ifelse(is.nan(dados_caged$media_salario_saida_uf_ref), 0, dados_caged$media_salario_saida_uf_ref)
dados_caged$media_salario_entrada_municipio_ref <- ifelse(is.nan(dados_caged$media_salario_entrada_municipio_ref), 0, dados_caged$media_salario_entrada_municipio_ref)
dados_caged$media_salario_saida_municipio_ref <- ifelse(is.nan(dados_caged$media_salario_saida_municipio_ref), 0, dados_caged$media_salario_saida_municipio_ref)
dados_geral$Caged$SalarioMed <- mean(dados_caged$Salário.Mensal)
dados_geral$Caged$SalarioMin <- min(dados_caged$Salário.Mensal)
dados_geral$Caged$SalarioMax <- max(dados_caged$Salário.Mensal)
dados_geral$Caged$SalarioSd <- sd(dados_caged$Salário.Mensal)
dados_geral$Caged$Salario1q <- as.numeric(quantile(dados_caged$Salário.Mensal, probs = 0.25, type = 2))
dados_geral$Caged$Salario2q <- as.numeric(quantile(dados_caged$Salário.Mensal, probs = 0.50, type = 2))
dados_geral$Caged$Salario3q <- as.numeric(quantile(dados_caged$Salário.Mensal, probs = 0.75, type = 2))
dados_geral$Caged$Salario4q <- as.numeric(quantile(dados_caged$Salário.Mensal, probs = 1.00, type = 2))
dados_geral$Caged$AmostrasTotal <- nrow(dados_caged)
dados_geral$Caged$AmostrasEntrada <- length(dados_caged$Salário.Mensal[dados_caged$Admitidos.Desligados == 1])
dados_geral$Caged$AmostrasSaida <- length(dados_caged$Salário.Mensal[dados_caged$Admitidos.Desligados == 2])
dados_geral$Caged$AmostrasHomens <- length(dados_caged$Salário.Mensal[dados_caged$Sexo == 1])
dados_geral$Caged$AmostrasMulheres <- length(dados_caged$Salário.Mensal[dados_caged$Sexo == 2])
dados_geral$Caged$AmostrasHomensFertil <- length(dados_caged$Salário.Mensal[dados_caged$Sexo == 1 & dados_caged$Idade > 15 & dados_caged$Idade < 50])
dados_geral$Caged$AmostrasMulheresFertil <- length(dados_caged$Salário.Mensal[dados_caged$Sexo == 2 & dados_caged$Idade > 15 & dados_caged$Idade < 50])
dados_geral$Caged$PermanenciaMed <- mean(dados_caged$Tempo.Emprego[dados_caged$Admitidos.Desligados == 2])
dados_geral$Caged$PermanenciaMin <- min(dados_caged$Tempo.Emprego[dados_caged$Admitidos.Desligados == 2])
dados_geral$Caged$PermanenciaMax <- max(dados_caged$Tempo.Emprego[dados_caged$Admitidos.Desligados == 2])
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
# UFS <- paste('SELECT DISTINCT sigla_uf, codigo_uf FROM municipios_caged')
# UFS <- as.data.frame(RSQLite::dbGetQuery(canal, UFS))
UFS <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(sigla_uf, codigo_uf) %>% unique()
names(UFS)[2] <- "UF"
dados_caged <- dplyr::right_join(UFS, dados_caged, by = "UF")
# MUNI <- paste('SELECT DISTINCT nome_municipio, codigo_municipio FROM municipios_caged')
# MUNI <- as.data.frame(RSQLite::dbGetQuery(canal, MUNI))
MUNI <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(nome_municipio, codigo_municipio) %>% unique()
names(MUNI)[2] <- "Município"
MUNI$`Município` <- as.numeric(substr(MUNI$`Município`, 1, 6))
dados_caged <- dplyr::right_join(MUNI, dados_caged, by = "Município")
base_dados_UF_ref <- dplyr::select(dados_caged, `Competência.Declarada`, `sigla_uf`, `UF`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF_ref <- base_dados_UF_ref[order(base_dados_UF_ref$Competência.Declarada, base_dados_UF_ref$UF), ]
base_dados_UF_ref <- dplyr::select(base_dados_UF_ref, `Competência.Declarada`, `sigla_uf`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF <- dplyr::select(dados_caged, `sigla_uf`, `UF`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_UF <- base_dados_UF[order(base_dados_UF$UF), ]
base_dados_UF <- dplyr::select(base_dados_UF, `sigla_uf`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_municipio_ref <- dplyr::select(dados_caged, `Competência.Declarada`, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio_ref:media_permanencia_municipio_ref) %>% unique()
base_dados_municipio_ref <- base_dados_municipio_ref[order(base_dados_municipio_ref$Competência.Declarada, base_dados_municipio_ref$Município), ]
base_dados_municipio <- dplyr::select(dados_caged, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio:media_permanencia_municipio) %>% unique()
base_dados_municipio <- base_dados_municipio[order(base_dados_municipio$Município), ]
# Salva a base para gerar Relatorio por UF e referência
saveRDS(base_dados_UF_ref, file = paste0("caged_filtrado_UF_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por UF
saveRDS(base_dados_UF, file = paste0("caged_filtrado_UF_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio e referência
saveRDS(base_dados_municipio_ref, file = paste0("caged_filtrado_municipio_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio
saveRDS(base_dados_municipio, file = paste0("caged_filtrado_municipio_", as.character(info[1, 1])))
shinyjs::hide("filtros")
shinyjs::hide("filtros_2")
shinyjs::show("filtros_1")
atualizar()
sendSweetAlert(session, title = paste0("Filtro realizado com sucesso!"))
}else{
dados_geral$Rais$VL.Remun.Méd.Nom[1] <- input$salario_rais[1]
dados_geral$Rais$VL.Remun.Méd.Nom[2] <- input$salario_rais[2]
dados_geral$Rais$Idade[1] <- input$idade_rais[1]
dados_geral$Rais$Idade[2] <- input$idade_rais[2]
dados_geral$Rais$Qtd.Hora.Contr[1] <- input$horas_rais[1]
dados_geral$Rais$Qtd.Hora.Contr[2] <- input$horas_rais[2]
dados_geral$Rais$Vínculo.Ativo.31.12 <- input$config_geral_vinculo_ativo_rais
dados_geral$Rais$Escolaridade <- input$config_geral_escolaridade_rais
dados_geral$Rais$Raça <- input$config_geral_raca_rais
dados_geral$Rais$Sexo <- input$config_geral_genero_rais
dados_geral$Rais$Tipo.Vínculo <- input$config_geral_tipo_vinculo_rais
dados_geral$Rais$Tamanho.Estabelecimento <- input$config_geral_porte_empresa_rais
dados_geral$Rais$Motivo.Desligamento <- input$config_geral_motivo_desligamento_rais
dados_geral$Rais$Tipo.Admissão <- input$config_geral_tipo_admissao_rais
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
# # Filtro de salario
# minimo_salario <- input$salario_rais[1]
# maximo_salario <- input$salario_rais[2]
# dados_rais <- subset(dados_rais, Vl.Remun.Média.Nom >= minimo_salario & Vl.Remun.Média.Nom <= maximo_salario)
#
# # Filtro de idade
# minimo_idade <- input$idade_rais[1]
# maximo_idade <- input$idade_rais[2]
# dados_rais <- subset(dados_rais, Idade >= minimo_idade & Idade <= maximo_idade)
#
# # Filtro de horas
# minimo_horas <- input$horas_rais[1]
# maximo_horas <- input$horas_rais[2]
# dados_rais <- subset(dados_rais, Qtd.Hora.Contr >= minimo_horas & Qtd.Hora.Contr <= maximo_horas)
#
# #Filtro vínculo ativo
# vinculo_ativo <- as.numeric(input$config_geral_vinculo_ativo_rais)
# dados_rais <- subset(dados_rais, Vínculo.Ativo.31.12%in%vinculo_ativo)
#
# #Filtro raca
# raca <- as.numeric(input$config_geral_raca_rais)
# dados_rais <- subset(dados_rais, Raça.Cor%in%raca)
#
# #Filtro genero
# genero <- as.numeric(input$config_geral_genero_rais)
# dados_rais <- subset(dados_rais, Sexo.Trabalhador%in%genero)
#
# #Filtro escolaridade
# escolaridade <- as.numeric(input$config_geral_escolaridade_rais)
# dados_rais <- subset(dados_rais, Escolaridade.após.2005%in%escolaridade)
#
# #Filtro tipo de vinculo
# tipo_vinculo <- as.numeric(input$config_geral_tipo_vinculo_rais)
# dados_rais <- subset(dados_rais, Tipo.Vínculo%in%tipo_vinculo)
#
# #Filtro tipo de admissão
# tipo_admissao <- as.numeric(input$config_geral_tipo_admissao_rais)
# dados_rais <- subset(dados_rais, Tipo.Admissão%in%tipo_admissao)
#
# #Filtro motivo de desligamento
# motivo_desligamento <- as.numeric(input$config_geral_motivo_desligamento_rais)
# dados_rais <- subset(dados_rais, Motivo.Desligamento%in%motivo_desligamento)
#
# #Filtro porte da empresa
# porte_empresa <- as.numeric(input$config_geral_porte_empresa_rais)
# dados_rais <- subset(dados_rais, Tamanho.Estabelecimento%in%porte_empresa)
#
# # #Filtro contrato parcial
# # contrato_parcial <- as.numeric(input$config_geral_sexo)
# # dados_rais <- subset(dados_rais, Sexo%in%contrato_parcial)
# #
# # #Filtro contrato intermitente
# # contrato_intermitente <- as.numeric(input$config_geral_sexo)
# # dados_rais <- subset(dados_rais, Sexo%in%contrato_intermitente)
print("antes de filtrar")
dados_rais <- subset(dados_rais,
Vl.Remun.Média.Nom >= dados_geral$Rais$VL.Remun.Méd.Nom[1] & Vl.Remun.Média.Nom <= dados_geral$Rais$VL.Remun.Méd.Nom[2] &
Idade >= dados_geral$Rais$Idade[1] & Idade <= dados_geral$Rais$Idade[2] &
Qtd.Hora.Contr >= dados_geral$Rais$Qtd.Hora.Contrat[1] & Qtd.Hora.Contr <= dados_geral$Rais$Qtd.Hora.Contrat[2] &
Vínculo.Ativo.31.12 %in% dados_geral$Rais$Vínculo.Ativo.31.12 &
Raça.Cor %in% dados_geral$Rais$Raça &
Sexo %in% dados_geral$Rais$Sexo &
Escolaridade.após.2005 %in% dados_geral$Rais$Escolaridade &
Tipo.Vínculo %in% dados_geral$Rais$Tipo.Vínculo &
Tipo.Admissão %in% dados_geral$Rais$Tipo.Admissão &
Motivo.Desligamento %in% dados_geral$Rais$Motivo.Desligamento &
Tamanho.Estabelecimento %in% dados_geral$Rais$Tamanho.Estabelecimento)
print("depois de filtrar")
# Filtro municipios
municipio <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Município
municipio <- municipio[-1,]
if(nrow(municipio) > 0){
texto_municipio <- paste0("dados_rais <- subset(dados_rais, substr(Município, 1, nchar(", municipio[1,1], ")) == '", if(nchar(municipio[1,1]) == 7) {substr(municipio[1,1], 1, 6)}else{municipio[1,1]}, "'")
if(nrow(municipio) > 1){
for (xx in 2:nrow(municipio)) {
texto_municipio <- paste0(texto_municipio, " | substr(Município, 1, nchar(", municipio[xx,1], ")) == '", if(nchar(municipio[xx,1]) == 7) {substr(municipio[1,1], 1, 6)}else{municipio[xx,1]}, "'")
}
}
texto_municipio <- paste0(texto_municipio, ")")
eval(parse(text = as.character(texto_municipio)))
}
# sendSweetAlert(session, title = texto_municipio)
# Cria colunas calculadas com os dados gerais
dados_rais <- dados_rais %>%
dplyr::mutate(media_salario = mean(Vl.Remun.Média.Nom),
sd_salario = sd(Vl.Remun.Média.Nom),
n_amostras = length(Vl.Remun.Média.Nom),
n_entrada = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia = mean(Tempo.Emprego))
# Cria colunas calculadas baseada na referência e Município
dados_rais <- dados_rais %>%
dplyr::group_by(ano, Município) %>%
dplyr::mutate(media_salario_municipio_ref = mean(Vl.Remun.Média.Nom),
sd_salario_municipio_ref = sd(Vl.Remun.Média.Nom),
n_amostras_municipio_ref = length(Vl.Remun.Média.Nom),
n_entrada_municipio_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_municipio_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_municipio_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_municipio_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_municipio_ref = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada no Município
dados_rais <- dados_rais %>%
dplyr::group_by(Município) %>%
dplyr::mutate(media_salario_municipio = mean(Vl.Remun.Média.Nom),
sd_salario_municipio = sd(Vl.Remun.Média.Nom),
n_amostras_municipio = length(Vl.Remun.Média.Nom),
n_entrada_municipio = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_municipio = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_municipio = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_municipio = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_municipio = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na referência e UF
dados_rais <- dados_rais %>%
dplyr::group_by(ano, UF) %>%
dplyr::mutate(media_salario_uf_ref = mean(Vl.Remun.Média.Nom),
sd_salario_uf_ref = sd(Vl.Remun.Média.Nom),
n_amostras_uf_ref = length(Vl.Remun.Média.Nom),
n_entrada_uf_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_uf_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_uf_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_uf_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_uf_ref = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na UF
dados_rais <- dados_rais %>%
dplyr::group_by(UF) %>%
dplyr::mutate(media_salario_uf = mean(Vl.Remun.Média.Nom),
sd_salario_uf = sd(Vl.Remun.Média.Nom),
n_amostras_uf = length(Vl.Remun.Média.Nom),
n_entrada_uf = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_uf = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_uf = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_uf = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_uf = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
saveRDS(dados_rais, file = paste0("rais_filtrado2_", as.character(info[1, 1])))
dados_rais$media_salario_entrada_uf_ref <- ifelse(is.nan(dados_rais$media_salario_entrada_uf_ref), 0, dados_rais$media_salario_entrada_uf_ref)
dados_rais$media_salario_saida_uf_ref <- ifelse(is.nan(dados_rais$media_salario_saida_uf_ref), 0, dados_rais$media_salario_saida_uf_ref)
dados_rais$media_salario_entrada_municipio_ref <- ifelse(is.nan(dados_rais$media_salario_entrada_municipio_ref), 0, dados_rais$media_salario_entrada_municipio_ref)
dados_rais$media_salario_saida_municipio_ref <- ifelse(is.nan(dados_rais$media_salario_saida_municipio_ref), 0, dados_rais$media_salario_saida_municipio_ref)
# UFS <- paste('SELECT DISTINCT sigla_uf, codigo_uf FROM municipios_caged')
# UFS <- as.data.frame(RSQLite::dbGetQuery(canal, UFS))
UFS <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(sigla_uf, codigo_uf) %>% unique()
names(UFS)[2] <- "UF"
dados_rais <- dplyr::right_join(UFS, dados_rais, by = "UF")
# MUNI <- paste('SELECT DISTINCT nome_municipio, codigo_municipio FROM municipios_caged')
# MUNI <- as.data.frame(RSQLite::dbGetQuery(canal, MUNI))
MUNI <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(nome_municipio, codigo_municipio) %>% unique()
names(MUNI)[2] <- "Município"
MUNI$`Município` <- as.numeric(substr(MUNI$`Município`, 1, 6))
dados_rais <- dplyr::right_join(MUNI, dados_rais, by = "Município")
base_dados_UF_ref <- dplyr::select(dados_rais, `ano`, `sigla_uf`, `UF`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF_ref <- base_dados_UF_ref[order(base_dados_UF_ref$ano, base_dados_UF_ref$UF), ]
base_dados_UF_ref <- dplyr::select(base_dados_UF_ref, `ano`, `sigla_uf`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF <- dplyr::select(dados_rais, `sigla_uf`, `UF`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_UF <- base_dados_UF[order(base_dados_UF$UF), ]
base_dados_UF <- dplyr::select(base_dados_UF, `sigla_uf`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_municipio_ref <- dplyr::select(dados_rais, `ano`, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio_ref:media_permanencia_municipio_ref) %>% unique()
base_dados_municipio_ref <- base_dados_municipio_ref[order(base_dados_municipio_ref$ano, base_dados_municipio_ref$Município), ]
base_dados_municipio <- dplyr::select(dados_rais, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio:media_permanencia_municipio) %>% unique()
base_dados_municipio <- base_dados_municipio[order(base_dados_municipio$Município), ]
# Salva a base para gerar Relatorio por UF e referência
saveRDS(base_dados_UF_ref, file = paste0("rais_filtrado_UF_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por UF
saveRDS(base_dados_UF, file = paste0("rais_filtrado_UF_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio e referência
saveRDS(base_dados_municipio_ref, file = paste0("rais_filtrado_municipio_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio
saveRDS(base_dados_municipio, file = paste0("rais_filtrado_municipio_", as.character(info[1, 1])))
shinyjs::hide("filtros")
shinyjs::hide("filtros_2")
shinyjs::show("filtros_1")
atualizar()
sendSweetAlert(session, title = paste0("Filtro realizado com sucesso!"))
}
shinybusy::remove_modal_spinner()
})
observeEvent(input$gera_resultado_rais, {
shinybusy::show_modal_spinner()
dados_geral <- readRDS(file = paste0("dados_", as.character(info[1, 1])))
dados_geral$Rais$VL.Remun.Méd.Nom[1] <- input$salario_rais[1]
dados_geral$Rais$VL.Remun.Méd.Nom[2] <- input$salario_rais[2]
dados_geral$Rais$Idade[1] <- input$idade_rais[1]
dados_geral$Rais$Idade[2] <- input$idade_rais[2]
dados_geral$Rais$Qtd.Hora.Contr[1] <- input$horas_rais[1]
dados_geral$Rais$Qtd.Hora.Contr[2] <- input$horas_rais[2]
dados_geral$Rais$Vínculo.Ativo.31.12 <- input$config_geral_vinculo_ativo_rais
dados_geral$Rais$Escolaridade <- input$config_geral_escolaridade_rais
dados_geral$Rais$Raça <- input$config_geral_raca_rais
dados_geral$Rais$Sexo <- input$config_geral_genero_rais
dados_geral$Rais$Tipo.Vínculo <- input$config_geral_tipo_vinculo_rais
dados_geral$Rais$Tamanho.Estabelecimento <- input$config_geral_porte_empresa_rais
dados_geral$Rais$Motivo.Desligamento <- input$config_geral_motivo_desligamento_rais
dados_geral$Rais$Tipo.Admissão <- input$config_geral_tipo_admissao_rais
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
# # Filtro de salario
# minimo_salario <- input$salario_rais[1]
# maximo_salario <- input$salario_rais[2]
# dados_rais <- subset(dados_rais, Vl.Remun.Média.Nom >= minimo_salario & Vl.Remun.Média.Nom <= maximo_salario)
#
# # Filtro de idade
# minimo_idade <- input$idade_rais[1]
# maximo_idade <- input$idade_rais[2]
# dados_rais <- subset(dados_rais, Idade >= minimo_idade & Idade <= maximo_idade)
#
# # Filtro de horas
# minimo_horas <- input$horas_rais[1]
# maximo_horas <- input$horas_rais[2]
# dados_rais <- subset(dados_rais, Qtd.Hora.Contr >= minimo_horas & Qtd.Hora.Contr <= maximo_horas)
#
# #Filtro vínculo ativo
# vinculo_ativo <- as.numeric(input$config_geral_vinculo_ativo_rais)
# dados_rais <- subset(dados_rais, Vínculo.Ativo.31.12%in%vinculo_ativo)
#
# #Filtro raca
# raca <- as.numeric(input$config_geral_raca_rais)
# dados_rais <- subset(dados_rais, Raça.Cor%in%raca)
#
# #Filtro genero
# genero <- as.numeric(input$config_geral_genero_rais)
# dados_rais <- subset(dados_rais, Sexo.Trabalhador%in%genero)
#
# #Filtro escolaridade
# escolaridade <- as.numeric(input$config_geral_escolaridade_rais)
# dados_rais <- subset(dados_rais, Escolaridade.após.2005%in%escolaridade)
#
# #Filtro tipo de vinculo
# tipo_vinculo <- as.numeric(input$config_geral_tipo_vinculo_rais)
# dados_rais <- subset(dados_rais, Tipo.Vínculo%in%tipo_vinculo)
#
# #Filtro tipo de admissão
# tipo_admissao <- as.numeric(input$config_geral_tipo_admissao_rais)
# dados_rais <- subset(dados_rais, Tipo.Admissão%in%tipo_admissao)
#
# #Filtro motivo de desligamento
# motivo_desligamento <- as.numeric(input$config_geral_motivo_desligamento_rais)
# dados_rais <- subset(dados_rais, Motivo.Desligamento%in%motivo_desligamento)
#
# #Filtro porte da empresa
# porte_empresa <- as.numeric(input$config_geral_porte_empresa_rais)
# dados_rais <- subset(dados_rais, Tamanho.Estabelecimento%in%porte_empresa)
#
# # #Filtro contrato parcial
# # contrato_parcial <- as.numeric(input$config_geral_sexo)
# # dados_rais <- subset(dados_rais, Sexo%in%contrato_parcial)
# #
# # #Filtro contrato intermitente
# # contrato_intermitente <- as.numeric(input$config_geral_sexo)
# # dados_rais <- subset(dados_rais, Sexo%in%contrato_intermitente)
dados_rais <- subset(dados_rais,
Vl.Remun.Média.Nom >= dados_geral$Rais$VL.Remun.Méd.Nom[1] & Vl.Remun.Média.Nom <= dados_geral$Rais$VL.Remun.Méd.Nom[2] &
Idade >= dados_geral$Rais$Idade[1] & Idade <= dados_geral$Rais$Idade[2] &
Qtd.Hora.Contr >= dados_geral$Rais$Qtd.Hora.Contr[1] & Qtd.Hora.Contr <= dados_geral$Rais$Qtd.Hora.Contr[2] &
Vínculo.Ativo.31.12 %in% dados_geral$Rais$Vínculo.Ativo.31.12 &
Raça.Cor %in% dados_geral$Rais$Raça &
Sexo.Trabalhador %in% dados_geral$Rais$Sexo &
Escolaridade.após.2005 %in% dados_geral$Rais$Escolaridade &
Tipo.Vínculo %in% dados_geral$Rais$Tipo.Vínculo &
Tipo.Admissão %in% dados_geral$Rais$Tipo.Admissão &
Motivo.Desligamento %in% dados_geral$Rais$Motivo.Desligamento &
Tamanho.Estabelecimento %in% dados_geral$Rais$Tamanho.Estabelecimento)
# Filtro municipios
municipio <- readRDS(file = paste0("dados_", as.character(info[1, 1])))$Rais$Município
municipio <- municipio[-1,]
if(nrow(municipio) > 0){
texto_municipio <- paste0("dados_rais <- subset(dados_rais, substr(Município, 1, nchar(", municipio[1,1], ")) == '", if(nchar(municipio[1,1]) == 7) {substr(municipio[1,1], 1, 6)}else{municipio[1,1]}, "'")
if(nrow(municipio) > 1){
for (xx in 2:nrow(municipio)) {
texto_municipio <- paste0(texto_municipio, " | substr(Município, 1, nchar(", municipio[xx,1], ")) == '", if(nchar(municipio[xx,1]) == 7) {substr(municipio[1,1], 1, 6)}else{municipio[xx,1]}, "'")
}
}
texto_municipio <- paste0(texto_municipio, ")")
eval(parse(text = as.character(texto_municipio)))
}
# sendSweetAlert(session, title = texto_municipio)
# Cria colunas calculadas com os dados gerais
dados_rais <- dados_rais %>%
dplyr::mutate(media_salario = mean(Vl.Remun.Média.Nom),
sd_salario = sd(Vl.Remun.Média.Nom),
n_amostras = length(Vl.Remun.Média.Nom),
n_entrada = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia = mean(Tempo.Emprego))
# Cria colunas calculadas baseada na referência e Município
dados_rais <- dados_rais %>%
dplyr::group_by(ano, Município) %>%
dplyr::mutate(media_salario_municipio_ref = mean(Vl.Remun.Média.Nom),
sd_salario_municipio_ref = sd(Vl.Remun.Média.Nom),
n_amostras_municipio_ref = length(Vl.Remun.Média.Nom),
n_entrada_municipio_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_municipio_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_municipio_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_municipio_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_municipio_ref = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada no Município
dados_rais <- dados_rais %>%
dplyr::group_by(Município) %>%
dplyr::mutate(media_salario_municipio = mean(Vl.Remun.Média.Nom),
sd_salario_municipio = sd(Vl.Remun.Média.Nom),
n_amostras_municipio = length(Vl.Remun.Média.Nom),
n_entrada_municipio = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_municipio = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_municipio = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_municipio = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_municipio = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na referência e UF
dados_rais <- dados_rais %>%
dplyr::group_by(ano, UF) %>%
dplyr::mutate(media_salario_uf_ref = mean(Vl.Remun.Média.Nom),
sd_salario_uf_ref = sd(Vl.Remun.Média.Nom),
n_amostras_uf_ref = length(Vl.Remun.Média.Nom),
n_entrada_uf_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_uf_ref = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_uf_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_uf_ref = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_uf_ref = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
# Cria colunas calculadas baseada na UF
dados_rais <- dados_rais %>%
dplyr::group_by(UF) %>%
dplyr::mutate(media_salario_uf = mean(Vl.Remun.Média.Nom),
sd_salario_uf = sd(Vl.Remun.Média.Nom),
n_amostras_uf = length(Vl.Remun.Média.Nom),
n_entrada_uf = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
n_saida_uf = length(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_salario_entrada_uf = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 1]),
media_salario_saida_uf = mean(Vl.Remun.Média.Nom[Vínculo.Ativo.31.12 == 0]),
media_permanencia_uf = mean(Tempo.Emprego)) %>%
dplyr::ungroup()
saveRDS(dados_rais, file = paste0("rais_filtrado2_", as.character(info[1, 1])))
dados_rais$media_salario_entrada_uf_ref <- ifelse(is.nan(dados_rais$media_salario_entrada_uf_ref), 0, dados_rais$media_salario_entrada_uf_ref)
dados_rais$media_salario_saida_uf_ref <- ifelse(is.nan(dados_rais$media_salario_saida_uf_ref), 0, dados_rais$media_salario_saida_uf_ref)
dados_rais$media_salario_entrada_municipio_ref <- ifelse(is.nan(dados_rais$media_salario_entrada_municipio_ref), 0, dados_rais$media_salario_entrada_municipio_ref)
dados_rais$media_salario_saida_municipio_ref <- ifelse(is.nan(dados_rais$media_salario_saida_municipio_ref), 0, dados_rais$media_salario_saida_municipio_ref)
dados_geral$Rais$RemuneracaoMed <- mean(dados_rais$Vl.Remun.Média.Nom)
dados_geral$Rais$RemuneracaoMin <- min(dados_rais$Vl.Remun.Média.Nom)
dados_geral$Rais$RemuneracaoMax <- max(dados_rais$Vl.Remun.Média.Nom)
dados_geral$Rais$RemuneracaoSd <- sd(dados_rais$Vl.Remun.Média.Nom)
dados_geral$Rais$Remuneracao1q <- as.numeric(quantile(dados_rais$Vl.Remun.Média.Nom, probs = 0.25, type = 2))
dados_geral$Rais$Remuneracao2q <- as.numeric(quantile(dados_rais$Vl.Remun.Média.Nom, probs = 0.50, type = 2))
dados_geral$Rais$Remuneracao3q <- as.numeric(quantile(dados_rais$Vl.Remun.Média.Nom, probs = 0.75, type = 2))
dados_geral$Rais$Remuneracao4q <- as.numeric(quantile(dados_rais$Vl.Remun.Média.Nom, probs = 1.00, type = 2))
dados_geral$Rais$RegistrosTotal <- nrow(dados_rais)
dados_geral$Rais$RegistrosEntrada <- length(dados_rais$Vl.Remun.Média.Nom[dados_rais$Vínculo.Ativo.31.12 == 1])
dados_geral$Rais$RegistrosSaida <- length(dados_rais$Vl.Remun.Média.Nom[dados_rais$Vínculo.Ativo.31.12 == 0])
dados_geral$Rais$RegistrosHomens <- length(dados_rais$Vl.Remun.Média.Nom[dados_rais$Sexo.Trabalhador == 1])
dados_geral$Rais$RegistrosMulheres <- length(dados_rais$Vl.Remun.Média.Nom[dados_rais$Sexo.Trabalhador == 2])
dados_geral$Rais$RegistrosHomensFertil <- length(dados_rais$Vl.Remun.Média.Nom[dados_rais$Sexo.Trabalhador == 1 & dados_rais$Idade > 15 & dados_rais$Idade < 50])
dados_geral$Rais$RegistrosMulheresFertil <- length(dados_rais$Vl.Remun.Média.Nom[dados_rais$Sexo.Trabalhador == 2 & dados_rais$Idade > 15 & dados_rais$Idade < 50])
dados_geral$Rais$PermanenciaMed <- mean(dados_rais$Tempo.Emprego[dados_rais$Vínculo.Ativo.31.12 == 1])
dados_geral$Rais$PermanenciaMin <- min(dados_rais$Tempo.Emprego[dados_rais$Vínculo.Ativo.31.12 == 1])
dados_geral$Rais$PermanenciaMax <- max(dados_rais$Tempo.Emprego[dados_rais$Vínculo.Ativo.31.12 == 1])
saveRDS(dados_geral, file = paste0("dados_", as.character(info[1, 1])))
# UFS <- paste('SELECT DISTINCT sigla_uf, codigo_uf FROM municipios_caged')
# UFS <- as.data.frame(RSQLite::dbGetQuery(canal, UFS))
UFS <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(sigla_uf, codigo_uf) %>% unique()
names(UFS)[2] <- "UF"
dados_rais <- dplyr::right_join(UFS, dados_rais, by = "UF")
# MUNI <- paste('SELECT DISTINCT nome_municipio, codigo_municipio FROM municipios_caged')
# MUNI <- as.data.frame(RSQLite::dbGetQuery(canal, MUNI))
MUNI <- Dados::ListaMunicipios %>% as.data.frame() %>% dplyr::select(nome_municipio, codigo_municipio) %>% unique()
names(MUNI)[2] <- "Município"
MUNI$`Município` <- as.numeric(substr(MUNI$`Município`, 1, 6))
dados_rais <- dplyr::right_join(MUNI, dados_rais, by = "Município")
base_dados_UF_ref <- dplyr::select(dados_rais, `ano`, `sigla_uf`, `UF`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF_ref <- base_dados_UF_ref[order(base_dados_UF_ref$ano, base_dados_UF_ref$UF), ]
base_dados_UF_ref <- dplyr::select(base_dados_UF_ref, `ano`, `sigla_uf`, media_salario_uf_ref:media_permanencia_uf_ref) %>% unique()
base_dados_UF <- dplyr::select(dados_rais, `sigla_uf`, `UF`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_UF <- base_dados_UF[order(base_dados_UF$UF), ]
base_dados_UF <- dplyr::select(base_dados_UF, `sigla_uf`, media_salario_uf:media_permanencia_uf) %>% unique()
base_dados_municipio_ref <- dplyr::select(dados_rais, `ano`, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio_ref:media_permanencia_municipio_ref) %>% unique()
base_dados_municipio_ref <- base_dados_municipio_ref[order(base_dados_municipio_ref$ano, base_dados_municipio_ref$Município), ]
base_dados_municipio <- dplyr::select(dados_rais, `sigla_uf`, `Município`, `nome_municipio`, media_salario_municipio:media_permanencia_municipio) %>% unique()
base_dados_municipio <- base_dados_municipio[order(base_dados_municipio$Município), ]
# Salva a base para gerar Relatorio por UF e referência
saveRDS(base_dados_UF_ref, file = paste0("rais_filtrado_UF_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por UF
saveRDS(base_dados_UF, file = paste0("rais_filtrado_UF_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio e referência
saveRDS(base_dados_municipio_ref, file = paste0("rais_filtrado_municipio_ref_", as.character(info[1, 1])))
# Salva a base para gerar Relatorio por Municipio
saveRDS(base_dados_municipio, file = paste0("rais_filtrado_municipio_", as.character(info[1, 1])))
shinyjs::hide("filtros_rais")
shinyjs::hide("filtros_2")
shinyjs::show("filtros_1")
atualizar()
sendSweetAlert(session, title = paste0("Filtro realizado com sucesso!"))
shinybusy::remove_modal_spinner()
})
# Atualiza os sliderinput pelo valor do textinput
observeEvent(input$salario_inicio, {
if(stringr::str_replace(input$salario_inicio, ",", ".") != ""){
if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
dados_caged <- readRDS(paste0("caged_filtrado_", as.character(info[1, 1])))
lista_salarios <- dados_caged$Salário.Mensal %>% unique()
if(as.numeric(stringr::str_replace(input$salario_inicio, ",", ".")) != as.numeric(input$salario[1])){
updateSliderInput(session, "salario", min = min(lista_salarios), max = max(lista_salarios), value = c(as.numeric(stringr::str_replace(input$salario_inicio, ",", ".")), input$salario[2]), step = 0.01)
}
}
}
})
observeEvent(input$salario_rais_inicio, {
if(stringr::str_replace(input$salario_rais_inicio, ",", ".") != ""){
if(file.exists(paste0("rais_filtrado_", as.character(info[1, 1])))){
dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
lista_salarios <- dados_rais$Vl.Remun.Média.Nom %>% unique()
if(as.numeric(stringr::str_replace(input$salario_rais_inicio, ",", ".")) != as.numeric(input$salario_rais[1])){
updateSliderInput(session, "salario_rais", min = min(lista_salarios), max = max(lista_salarios), value = c(as.numeric(stringr::str_replace(input$salario_rais_inicio, ",", ".")), input$salario_rais[2]), step = 0.01)
}
}
}
})
observeEvent(input$salario_fim, {
if(stringr::str_replace(input$salario_fim, ",", ".") != ""){
if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
dados_caged <- readRDS(paste0("caged_filtrado_", as.character(info[1, 1])))
lista_salarios <- dados_caged$Salário.Mensal %>% unique()
if(as.numeric(stringr::str_replace(input$salario_fim, ",", ".")) != as.numeric(input$salario[2])){
updateSliderInput(session, "salario", min = min(lista_salarios), max = max(lista_salarios), value = c(input$salario[1], as.numeric(stringr::str_replace(input$salario_fim, ",", "."))), step = 0.01)
}
}
}
})
observeEvent(input$salario_rais_fim, {
if(stringr::str_replace(input$salario_rais_fim, ",", ".") != ""){
if(file.exists(paste0("rais_filtrado_", as.character(info[1, 1])))){
dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
lista_salarios <- dados_rais$Vl.Remun.Média.Nom %>% unique()
if(as.numeric(stringr::str_replace(input$salario_rais_fim, ",", ".")) != as.numeric(input$salario_rais[2])){
updateSliderInput(session, "salario_rais", min = min(lista_salarios), max = max(lista_salarios), value = c(input$salario_rais[1], as.numeric(stringr::str_replace(input$salario_rais_fim, ",", "."))), step = 0.01)
}
}
}
})
observeEvent(input$idade_inicio, {
if(input$idade_inicio != ""){
if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
dados_caged <- readRDS(paste0("caged_filtrado_", as.character(info[1, 1])))
lista_idade <- dados_caged$Idade %>% unique()
if(as.numeric(input$idade_inicio) != as.numeric(input$idade[1])){
updateSliderInput(session, "idade", min = min(lista_idade), max = max(lista_idade), value = c(as.numeric(input$idade_inicio), input$idade[2]))
}
}
}
})
observeEvent(input$idade_rais_inicio, {
if(input$idade_rais_inicio != ""){
if(file.exists(paste0("rais_filtrado_", as.character(info[1, 1])))){
dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
lista_idade <- dados_rais$Idade %>% unique()
if(as.numeric(input$idade_rais_inicio) != as.numeric(input$idade_rais[1])){
updateSliderInput(session, "idade_rais", min = min(lista_idade), max = max(lista_idade), value = c(as.numeric(input$idade_rais_inicio), input$idade_rais[2]))
}
}
}
})
observeEvent(input$idade_fim, {
if(input$idade_fim != ""){
if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
dados_caged <- readRDS(paste0("caged_filtrado_", as.character(info[1, 1])))
lista_idade <- dados_caged$Idade %>% unique()
if(as.numeric(input$idade_fim) != as.numeric(input$idade[2])){
updateSliderInput(session, "idade", min = min(lista_idade), max = max(lista_idade), value = c(input$idade[1], as.numeric(input$idade_fim)))
}
}
}
})
observeEvent(input$idade_rais_fim, {
if(input$idade_rais_fim != ""){
if(file.exists(paste0("rais_filtrado_", as.character(info[1, 1])))){
dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
lista_idade <- dados_rais$Idade %>% unique()
if(as.numeric(input$idade_rais_fim) != as.numeric(input$idade_rais[2])){
updateSliderInput(session, "idade_rais", min = min(lista_idade), max = max(lista_idade), value = c(input$idade_rais[1], input$idade_rais_fim))
}
}
}
})
observeEvent(input$horas_inicio, {
if(input$horas_inicio != ""){
if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
dados_caged <- readRDS(paste0("caged_filtrado_", as.character(info[1, 1])))
lista_horas <- dados_caged$Qtd.Hora.Contrat %>% unique()
if(as.numeric(input$horas_inicio) != as.numeric(input$horas[1])){
updateSliderInput(session, "horas", min = min(lista_horas), max = max(lista_horas), value = c(as.numeric(input$horas_inicio), input$horas[2]))
}
}
}
})
observeEvent(input$horas_rais_inicio, {
if(input$horas_rais_inicio != ""){
if(file.exists(paste0("rais_filtrado_", as.character(info[1, 1])))){
dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
lista_horas <- dados_rais$Qtd.Hora.Contr %>% unique()
if(as.numeric(input$horas_rais_inicio) != as.numeric(input$horas_rais[1])){
updateSliderInput(session, "horas_rais", min = min(lista_horas), max = max(lista_horas), value = c(as.numeric(input$horas_rais_inicio), input$horas_rais[2]))
}
}
}
})
observeEvent(input$horas_fim, {
if(input$horas_fim != ""){
if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
dados_caged <- readRDS(paste0("caged_filtrado_", as.character(info[1, 1])))
lista_horas <- dados_caged$Qtd.Hora.Contrat %>% unique()
if(as.numeric(input$horas_fim) != as.numeric(input$horas[2])){
updateSliderInput(session, "horas", min = min(lista_horas), max = max(lista_horas), value = c(input$horas[1], as.numeric(input$horas_fim)))
}
}
}
})
observeEvent(input$horas_rais_fim, {
if(input$horas_rais_fim != ""){
if(file.exists(paste0("rais_filtrado_", as.character(info[1, 1])))){
dados_rais <- readRDS(paste0("rais_filtrado_", as.character(info[1, 1])))
lista_horas <- dados_rais$Qtd.Hora.Contr %>% unique()
if(as.numeric(input$horas_rais_fim) != as.numeric(input$horas_rais[2])){
updateSliderInput(session, "horas_rais", min = min(lista_horas), max = max(lista_horas), value = c(input$horas_rais[1], input$horas_rais_fim))
}
}
}
})
# Atualiza os textinput pelo valor do sliderinput
# observeEvent(input$salario, {
#
# if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
#
# if(input$salario_inicio != as.numeric(input$salario[1])){
#
# updateTextInput(session, "salario_inicio", value = input$salario[1])
#
# }
#
# if(input$salario_fim != as.numeric(input$salario[2])){
#
# updateTextInput(session, "salario_fim", value = input$salario[2])
#
# }
#
# }
#
# })
# observeEvent(input$idade, {
#
# if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
#
# if(input$idade_inicio != as.numeric(input$idade[1])){
#
# updateTextInput(session, "idade_inicio", value = input$idade[1])
#
# }
#
# if(input$idade_fim != as.numeric(input$idade[2])){
#
# updateTextInput(session, "idade_fim", value = input$idade[2])
#
# }
#
# }
#
# })
# observeEvent(input$horas, {
#
# if(file.exists(paste0("caged_filtrado_", as.character(info[1, 1])))){
#
# if(input$horas_inicio != as.numeric(input$horas[1])){
#
# updateTextInput(session, "horas_inicio", value = input$horas[1])
#
# }
#
# if(input$horas_fim != as.numeric(input$horas[2])){
#
# updateTextInput(session, "horas_fim", value = input$horas[2])
#
# }
#
# }
#
# })
output$download_dados_caged <- downloadHandler(
filename = function() {
nome_arquivo <- "dados_caged.xlsx"
},
content = function(file) {
dados_caged <- readRDS(paste0("caged_filtrado2_", as.character(info[1, 1])))
openxlsx::write.xlsx(dados_caged, file)
}
)
}
## To be copied in the UI
# mod_resultados_ui("resultados_ui_1")
## To be copied in the server
# callModule(mod_resultados_server, "resultados_ui_1")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.