Coder Social home page Coder Social logo

laboratorio-de-pedometria / febr-package Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 4.0 1.96 MB

Repositório Brasileiro Livre para Dados Abertos do Solo - pacote para R

Home Page: https://www.pedometria.org/software/febr/

R 99.49% HTML 0.51%
database soil pedometrics brazil r cran

febr-package's Introduction

Repositório de Dados do Solo Brasileiro

Project Status: Active – The project has reached a stable, usable state and is being actively developed. packageversion

CRAN cran checks Downloads

O pacote febr para R foi criado para facilitar o acesso aos conjuntos de dados publicados no Repositório de Dados do Solo Brasileiro.

Instalação

A última versão estável do pacote febr geralmente pode ser descarregada do Comprehensive R Archive Network (CRAN).

# Instalar pacote febr do CRAN
install.packages(pkgs = "febr")

Se a instalação a partir do CRAN falhar, você pode instalar a versão de desenvolvimento do pacote febr disponível no GitHub usando o pacote remotes. Se você estiver usando uma máquina Windows, contudo, você terá que instalar o Rtools primeiro.

# Instalar pacote febr do GitHub
if (!require(remotes)) {
  install.packages(pkgs = "remotes")
}
remotes::install_github(repo = "laboratorio-de-pedometria/febr-package")

Utilização básica

A principal função de descarregamento de dados do pacote febr chama-se readFEBR. Ela aceita dois argumentos: data.set, o código de identificação do conjunto de dados no FEBR, e data.table, o nome de uma ou mais tabelas de dados contidas no conjunto de dados escolhido—as opções são "identificacao", "versionamento", "metadado", "observacao", and "camada". Veja alguns exemplos a seguir:

# Descarregar todas as tabelas de dados do conjunto de dados ctb0003
dados <- readFEBR(data.set = "ctb0003")

# Descarregar todas as tabelas de dados dos conjuntos de dados ctb0001, ctb0002 e ctb0003
dados <- readFEBR(data.set = c("ctb0001", "ctb0002", "ctb0003"))

# Descarregar apenas a tabela de dados de identificação dos conjuntos de dados ctb0001, ctb0002 e ctb0003
dados <- readFEBR(data.set = c("ctb0001", "ctb0002", "ctb0003"), data.table = "identificacao")

O objeto retornado é uma lista de conjuntos de dados, os quais são listas com suas próprias tabelas de dados. Para processar esses dados, você pode usar funções como lapply.

Quero colaborar

Nós usamos o modelo de desenvolvimento colaborativo fork & pull. Isso significa que você tem liberdade para fazer um cópia paralela – fork – do código fonte e fazer as alterações que julgar necessárias. Isso tudo sem que seja necessário pedir qualquer autorização para a gente. Caso as alterações que você realizou na sua cópia pessoal do código fonte sejam interessantes e você tenha interesse em compartilhar as mesmas conosco, então basta solicitar que sejam puxadas – pull request – para o código fonte original. Depois de uma revisão das alterações, nós decidiremos se elas podem ser fundidas – merge – com o código fonte original.

febr-package's People

Contributors

maelle avatar samuel-rosa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

febr-package's Issues

Erro na observação ctb0025

Usando o pacote R mais recente, encontrei esse erro ao baixar a observação do dataset_id ctb0025

# busca dados do febr

# usar a versão de desenvolvimento do febr
devtools::install_github(repo = "febr-team/febr-package")
#> Skipping install of 'febr' from a github remote, the SHA1 (b62a5be8) has not changed since last install.
#>   Use `force = TRUE` to force installation
obs <- febr::observation(dataset = 'ctb0025') 
#>   |                                                                              |                                                                      |   0%
#> 
#> Downloading ctb0025-observacao...
#> Error in `[.data.frame`(tmp, , c("coord_x", "coord_y")): undefined columns selected

Created on 2020-09-24 by the reprex package (v0.3.0)

Salvar dados em disco / Descarregar apenas dados editados

As quatro funções de descarregamento das tabelas dataset, observacao, camada e metadado poriam dispor de um argumento adicional dir para indicar um diretório local para salvar os dados descarregados. Os dados seriam salvos em disco, no formato CSV ou RDA, antes do processamento para padronização e harmonização, utilizando o mesmo nome da respectiva tabela no febr.

Salvar os dados em disco facilitaria o processamento dos dados do febr. Por exemplo, o processamento e publicação do superconjunto de dados do febr exige o descarregamento dos dados de todos os conjuntos de dados. Com uma cópia dos dados salva em disco, não seria necessário descarregar os dados de todos os conjuntos de dados, mas apenas daqueles em que foi feita alguma alteração na tabela remota (Google Sheets) depois de criada a cópia local em disco.

O pacote googlesheets deve possuir alguma funcionalidade para verificar a data da última alteração de uma planilha no Google Sheets. No R, informações sobre um arquivo podem ser obtidas via file.info().

funcao readFEBR

Na versao febr version 1.9.5 quando mais de um data.set e chamado pela funcao readFEBR ela retorna somente os o primeiro e os demais sao apresentados como desconhecidos.

Problema no download de dados

Eu estou com problemas no download dos dados pela plataforma do R.
Fiz a requisição igual ao exemplo na documentação do febr()

res <- febr(dataset = "ctb0003", merge = TRUE, variable = "all")

Downloading table ctb0003-dataset...
Error in curl::curl_fetch_memory(url, handle = handle) :
Timeout was reached: [spreadsheets.google.com] Connection timed out after 10003 milliseconds

Como faço para solucionar isso?

Erro ao baixar metadados de todos datasets

Estou querendo ver dados de disponibilidade de água no solo. Então pensei em baixar os metados de todos datasets, filtrar os que apresentam dados de agua e depois trabalhar nos data frames. Porém, ao tentar baixar os dados, me deparei com o seguinte problema

library(febr)
meta <- metadata(dataset = 'all')

(... baixa os dados anteriores ...)

Downloading ctb0562-metadado...
  |=================================                                                           |  36%
Downloading ctb0563-metadado...
Error in utils::download.file(url = url, destfile = destfile, quiet = TRUE) : 
  cannot open URL 'https://docs.google.com/spreadsheets/d/1PP_wNRXmzUXvwHSuanSIayp92p7_VOJu9sewpjnH2ng/export?format=csv'
In addition: Warning message:
In utils::download.file(url = url, destfile = destfile, quiet = TRUE) :
  cannot open URL 'https://docs.google.com/spreadsheets/d/1PP_wNRXmzUXvwHSuanSIayp92p7_VOJu9sewpjnH2ng/export?format=csv': HTTP status was '410 Gone'

Pelo visto, o conjunto ctb0563 não está mais disponível.

Tentei ver se conseguiria colocar um trycatch em algum lugar, mas não encontrei onde fazer isso.

Tabelas auxiliares

Criar diretório inst/extdata para armazenar tabelas auxiliares:

  • standards.csv: códigos identificadores unitários, unidades de medida e número de casas decimais
  • dictionary.csv: sinônimos para nomes/códigos das variáveis
  • conversion.csv: fatores de conversão entre unidades de medida

Simultaneamente, criar tabelas equivalentes no Google Sheets para facilitar a contribuição de outras pessoas interessadas.

Descarregar dados de outras variáveis do solo

Adicionar suporte para descarregar dados de outras variáveis do solo via layers.
O argumento a ser alterado é soil.vars que, no momento, aceita somente soil.vars = fe, ou seja, dados de ferro. Logo no início do código fonte faz-se uma verificação do valor passado à soil.vars. Ao invés de definir as variáveis permitidas no corpo de layers, pode ser mais inteligente usar .opt.

CRAN?

Hello, Is there a plan to resubmit this to CRAN? Thank you.

Erro ao baixar metadado ctb0566

# usar a versão de desenvolvimento do febr
devtools::install_github(repo = "febr-team/febr-package")
#> Skipping install of 'febr' from a github remote, the SHA1 (b62a5be8) has not changed since last install.
#>   Use `force = TRUE` to force installation
meta <- febr::metadata(dataset = 'ctb0566')
#>   |                                                                              |                                                                      |   0%
#> 
#> Downloading ctb0566-metadado...
#> Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : line 64 did not have 8 elements

Created on 2020-09-24 by the reprex package (v0.3.0)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.