Uma fonte de dados das pesquisas origem-destino brasileiras
Disponibilizar dados de pesquisas origem destino (OD) brasileiras num único lugar, tornando estes dados abertos mais acessíveis e potencializando seu uso.
Serão dados de São Paulo ou de todo Brasil?
Serão apenas bases no formato original ou haverá algum tipo de hamonização?
Havendo harmonização, como serão?
Em que língua estão os dados? Em que língua será feito o pacote?
Não só de São Paulo.
Mas nem todas cidades têm pesquisa OD.
E nem toda cidade que tem pesquisa OD disponibiliza abertamente.
Prioridade: cidades que têm e disponibilizam suas pesquisas OD como dado aberto.
Possibilidade de colaboração de comunidade de especialistas e desenvolvedores.
Sempre disponibilizar dados brutos.
Formatos, dados e forma de coleta variam bastante entre as cidades.
Se possível, disponibilizar dados hormonizados ao longo do tempo, para a mesma cidade.
Harmonização pressupõe escolhas.
Não é possível prever todas as decisões e escolhas, mas é importante documentá-las e disponibilizá-las.
Quem desejar fazer outas escolhas, pode fazê-las a partir dos dados brutos.
O código, os comandos e a documentaçõe serão feitos em inglês.
O conteúdo dos dados permance em português (inalterado).
Para tornar mais acessível o uso de dados, os dicionários serão disponibilizados em 3 línguas: português do Brasil, inglês e espanhol.
para quem usa
O que faz:
Baixa os dados de uma pesquisa específica de Origem e Destino e retorná-los como um dataframe.
Parâmetros:
city, year e hamonize (TRUE, FALSE)
Valores padrão (caso nada seja especificado):
city: São Paulo
year: 2017
harmonize: FALSE
O que faz:
Baixa os dados geodésicos para uma determinada Pesquisa Origem-Destino e retorna um dataframe sf.
Parâmetros:
city, year, hamonize (TRUE, FALSE) e geometry (zone, district, municipality)
Valores padrão (caso nada seja especificado):
city: São Paulo
year: 2017
harmonize: FALSE
geometry: zone
O que faz:
Retorna o dicionário de dados de uma determinada Pesquisa Origem-Destino, se disponível.
Parâmetros:
city, year, hamonize (TRUE, FALSE) e language (pt, en, es)
Valores padrão (caso nada seja especificado):
city: São Paulo
year: 2017
harmonize: FALSE
language: pt
para quem desenvolve
Compõe o nome do caminho, de forma padronizada
Compõe o nome do arquivo, de forma padronizada
compose_name <- function(city, year, harmonize, level = "od") {
city_text <- clean_string(city)
harmonized_text <- "not_harmonized"
if (harmonize == TRUE) {
harmonized_text <- "harmonized"
}
level_text <- clean_string(level)
name <- paste0(level_text, "_", city_text, "_", year, "_", harmonized_text)
return(name)
}
Remove caracteres não ASCII
Converte arquivos sav para csv.gz
upload_sav_db_to_repo <- function(city, year, harmonize, repository, tag) {
base_filename <- paste0(compose_file_path(city, year, harmonize), "/",
compose_name(city, year, harmonize)
)
# Creating the filename to download in order to read the raw data
filename_to_download <- paste0(base_filename, ".sav")
od <- haven::read_sav(filename_to_download)
# Creating compacted filename
compacted_filename <- paste0(base_filename, ".csv.gz")
# Compacting the file (.gz)
data.table::fwrite(od, file = compacted_filename, sep = ";")
# Uploading a file to a specific release from odbr repo (see parameter)
piggyback::pb_upload(
file = compacted_filename,
repo = repository,
tag = tag
)
}
#' @description
#' `read_od()` download the data for a specific Origin Destination survey and return it as a dataframe.
#' It uses the cached data file if it was previously downloaded to avoid extra networking consumption.
#' To understand the returned dataframe format, please reefer to the `read_dictionary()` function for
#' the same survey cohort.
#'
#' @template city
#' @template year
#' @template harmonize
#'
#' @return A `"data.frame"` object.
#' @export
#' @family Microdata
#'
#' @examplesIf identical(tolower(Sys.getenv("NOT_CRAN")), "true")
#' library(odbr)
#'
#' # return data from OD Surveys database as data.frame
#' df <- read_od(
#' city = "Sao Paulo",
#' year = 2017,
#' harmonize = FALSE
#' )
ou como tornar a informação mais acessível para mais gente
Documentar bem cada função: título, descrição, parâmetros, retornos e exemplos
ver cada o script R de cada função principal do pacote
Fazer um ReadMe completo e sucinto
ver arquivo README.Rmd
Fazer a vignette do pacote
ver arquivo odbr.Rmd
Para gerar documentação:
devtools::build_manual()
devtools::build_readme()
devtools::build_vignettes()
devtools::build_site()
@hsvab
hsvab@hsvab.eng.br
Pacotes, material da curso-r
R for Data Science, capítulo sobre funções
R Packages, livro para aprofundar conhecimento no desenvolvimento de pacotes
Repositórios do GitHub: bases de dados e algoritmos do mestrado, pacote odbr, pacote aopdata, pacote censobr, pacote geobr
Slides by Haydée Svab (@hsvab), made with Quarto. Code available on GitHub.