Como usar o pacote sidraR
O pacote sidraR permite acessar os dados do Sidra (Sistema IBGE de Recuperação Automática) diretamente pelo R. No exemplo de hoje, vamos fazer um levantamento para descobrir quais foram os municípios brasileiros responsáveis pela maior parte do valor de soja produzido nas regiões Norte e Centro-Oeste em 2020.
Vamos agrupar os valores de cada município que produz soja em quatro categorias - baixo, médio baixo, médio alto e alto. Os intervalos abrangidos pelas categorias serão definidor por meio dos quartis.
Como o pacote está no CRAN, a instalação será pelo comando:
install.packages('sidrar')
A função abaixo permite identificar aquelas tabelas do IBGE que contenham determinadas palavras-chave em seus títulos. Importante: não é permitido usar acentos nessa função.
x <- search_sidra('lavouras temporarias valor da producao')
x
## [1] "Tabela 498 - Valor da produção por produtos das lavouras temporárias e grupos de área total"
## [2] "Tabela 499 - Valor da produção por produtos das lavouras temporárias e grupo de atividade econômica"
## [3] "Tabela 500 - Valor da produção por produtos das lavouras temporárias e condição do produtor em relação às terras"
## [4] "Tabela 822 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária por produtos da lavoura temporária, condição produtor em relação às terras, grupos de atividade econômica, grupos de área total e grupos de área colhida"
## [5] "Tabela 824 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária por produtos da lavoura temporária, tipo de semente, tipo de colheita, tipo de cultivo e destino da produção"
## [6] "Tabela 825 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária por produtos da lavoura temporária, uso de irrigação, uso de agrotóxicos, uso de adubação e principal mês de plantio e de colheita"
## [7] "Tabela 1272 - Produtos da lavoura temporária nos estabelecimentos agropecuários, segundo indicadores da agricultura familiar e não familiar - FAO"
## [8] "Tabela 1612 - Área plantada, área colhida, quantidade produzida, rendimento médio e valor da produção das lavouras temporárias"
## [9] "Tabela 1712 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária nos estabelecimentos agropecuários, por produtos da lavoura temporária, condição produtor em relação às terras, grupos de atividade econômica, grupos de área total e grupos de área colhida - (MDA - PRONAF)"
## [10] "Tabela 1716 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária nos estabelecimentos agropecuários, por produtos da lavoura temporária, tipo de semente, tipo de colheita e tipo de cultivo - (MDA - PRONAF)"
## [11] "Tabela 1720 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária nos estabelecimentos agropecuários, por produtos da lavoura temporária, uso de agrotóxicos, uso de adubação e principal mês de plantio e de colheita - (MDA - PRONAF)"
## [12] "Tabela 1723 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária nos estabelecimentos agropecuários, por produtos da lavoura temporária, destino da produção e uso de irrigação - (MDA - PRONAF)"
## [13] "Tabela 1823 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária por produtos da lavoura temporária e grupos e classes de atividade"
## [14] "Tabela 2237 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária nos estabelecimentos agropecuários, com agricultura familiar e não familiar, por produtos da lavoura temporária, condição produtor em relação às terras, grupos de atividade econômica, grupos de área total e grupos de área colhida - (MDA)"
## [15] "Tabela 2265 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária nos estabelecimentos agropecuários, com agricultura familiar e não familiar, por produtos da lavoura temporária, tipo de semente, tipo de colheita e tipo de cultivo - (MDA)"
## [16] "Tabela 2266 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária nos estabelecimentos agropecuários, com agricultura familiar e não familiar, por produtos da lavoura temporária, uso de agrotóxicos, uso de adubação e principal mês de plantio e de colheita - (MDA)"
## [17] "Tabela 2284 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária nos estabelecimentos agropecuários, com agricultura familiar e não familiar, por produtos da lavoura temporária, destino da produção e uso de irrigação - (MDA)"
## [18] "Tabela 2868 - Produção, Valor da produção e Área colhida da lavoura temporária por produtos da lavoura temporária, grupos e classes de atividade econômica e uso de agricultura orgânica"
## [19] "Tabela 3374 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária por produtos da lavoura temporária, sexo e residência do produtor, orientação técnica, origem da orientação técnica e nivel de instrução da pessoa que dirige o estabelecimento"
## [20] "Tabela 3411 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária por produtos da lavoura temporária, segundo indicadores da agricultura familiar e não familiar - FAO"
## [21] "Tabela 4109 - Produção, Venda, Valor da produção e Área colhida da lavoura temporária, por produtos da lavoura temporária, tipo de colheita, tipo de semente e classificações de médio produtor"
## [22] "Tabela 5457 - Área plantada ou destinada à colheita, área colhida, quantidade produzida, rendimento médio e valor da produção das lavouras temporárias e permanentes"
## [23] "Tabela 6957 - Produção, Valor da produção, Venda, Valor da venda e Área colhida da lavoura temporária nos estabelecimentos agropecuários, por tipologia, produtos da lavoura temporária, condição do produtor em relação às terras e grupos de atividade econômica"
## [24] "Tabela 6958 - Produção, Valor da produção, Venda, Valor da venda e Área colhida da lavoura temporária nos estabelecimentos agropecuários, por tipologia, produtos da lavoura temporária, tipo de semente e grupos de área colhida"
## [25] "Tabela 6959 - Produção, Valor da produção, Venda, Valor da venda e Área colhida da lavoura temporária nos estabelecimentos agropecuários, por tipologia, produtos da lavoura temporária e grupos de área total"
Após uma breve leitura dos nomes das tabelas, percebe-se que a informação que precisamos está na Tabela 1612, que contém o valor da produção (em mil reais) segundo a pesquisa de Produção Agrícola Municipal. Agora, basta usar a função get_sidra() para baixar os dados da tabela direto para o R na estrutura de um dataframe. Na própria função é possível selecionar os dados que serão baixados de acordo com recorte geográfico, filtrar apenas dados de determinada região ou até mesmo selecionar uma variável específica.
x <- get_sidra(x = 1612)
Como o objetivo aqui é baixar os dados com o valor da produção, eu seleciono a variável número 215 (valor da produção) por meio do atributo “variable”. O problema é que ao usar a função get_sidra para baixar os dados da tabela, somos surpreendidos com a mensagem: “Quantidade de valores solicitados X linhas excedeu o limite: 50000”. Ou seja, existe uma limitação de que os dados baixados sejam de apenas 50.000 por requisição. Para contornar essa limitação, a solução foi fazer uma requisição para cada região e ir armazenando os resultados em uma tabela que criativamente foi chamada de “tabela”.
regiao <- c(1,5)
tabela <- data.frame()
for(i in regiao){
x <- get_sidra(x = 1612, # código da tabela no Sidra
geo = 'City', # nível de detalhe espacial da informação
geo.filter = list("Region" = i), #região
variable = 215, # variável de interesse
period = as.character(2020) # ano dos dados
)
tabela <- rbind(tabela,x)
}
x <- datatable(tabela)
Como resultado temos a seguinte tabela:
Agora vamos filtrar a produção de soja, selecionar apenas aquelas variáveis (colunas do meu dataframe) que serão usadas, substituir os valores faltantes por zero, remover os municípios que tem valor igual a zero e classificar os valores nas categorias baixa, média baixa, média alta e alta.
tabela_class <- tabela %>%
janitor::clean_names() %>%
select(5,6,7,9,13) %>%
replace(is.na(.), 0) %>%
dplyr::filter(produto_das_lavouras_temporarias %in% "Soja (em grão)",
valor > 0) %>%
arrange(desc(valor))
tabela_class <- tabela_class %>%
mutate(class = case_when(
valor <= summary(tabela_class$valor)[2] ~ "Baixo",
valor <= summary(tabela_class$valor)[3] ~ "Médio Baixo",
valor <= summary(tabela_class$valor)[5] ~ "Médio Alto",
valor > summary(tabela_class$valor)[5] ~ "Alto"
),
class = factor(class,
levels = c("Baixo","Médio Baixo","Médio Alto","Alto"))
)
tabela_class$municipio_codigo <- as.double(tabela_class$municipio_codigo)
Os resultados podem ser verificados na tabela e no mapa abaixo:
library(mapview)
library(geobr)
library(RColorBrewer)
mapviewOptions(fgb = FALSE)
mapa_soja <- geobr::read_municipality(showProgress = F) %>%
filter(str_detect(code_state, "^1|^5")) %>%
left_join(tabela_class, by = c('code_muni' = 'municipio_codigo'))
mapa_soja <- mapview::mapview(mapa_soja, zcol = "class", label = 'name_muni', col.regions = brewer.pal(4, "YlOrRd"))
mapview::mapshot(mapa_soja, url = 'mapa.html') # salva mapview em html