O que fazer se um pacote de que você precisa não estiver mais no CRAN?

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

[ad_1]

Atualmente, estou ministrando um novo curso Economia Empírica com R. O problema RTutor definido para o capítulo sobre estimativa de diferença em diferença usa o grande pacote lfe. Considero um pacote essencial para convencer os usuários do Stata (ainda a maioria dos economistas empíricos) a mudar para R, pois permite combinar com uma única chamada de função estimativa rápida de efeitos fixos, uso de variáveis ​​instrumentais e erros padrão robustos de cluster.

No entanto, ontem um aluno me enviou um e-mail informando que não conseguiu instalar o lfe pacote porque não estava mais no CRAN. A página CRAN parecia a seguinte:





Embora haja um link para um arquivo, ele contém apenas as versões de origem do pacote. o lfe pacote tem código C, ou seja, a instalação a partir da fonte, por exemplo, no Windows requer a instalação de RTools. No entanto, eu realmente preferiria não ter que garantir que todos os meus alunos (não de ciência da computação) com sistemas operacionais diversos tenham o conjunto de ferramentas adequado para compilar esses pacotes a partir do código-fonte.

O resgate de curto prazo: instantâneos CRAN da Microsoft

Primeiro, eu vim com a solução mais complicada para criar versões binárias para diferentes sistemas operacionais usando r-hub e, em seguida, hospedar esses binários lfe pacotes em meu próprio repositório Drat-powered e R no Github.

Mesmo assim, encontrei uma solução muito mais simples: os instantâneos CRAN diários da Microsoft. Aqui está a página CRAN arquivada de 2020-12-04 quando lfe ainda estava no CRAN. Podemos instalar essa versão simplesmente executando:

install.packages("lfe",repos=unique(c(
    getOption("repos"),
    repos="https://cran.microsoft.com/snapshot/2020-12-04/"
)))

Este código verifica primeiro o repositório CRAN padrão (deve lfe reaparecer) e usar o instantâneo da Microsoft.

Leia Também  Voltar a compartilhar: Documentação e vídeo de preparação de dados do vtreat

E se houver uma nova versão principal do R?

Pode ser que os instantâneos CRAN da Microsoft funcionem bem apenas até o dia em que houver uma nova versão principal do R, porque as novas versões principais do R tendem a exigir binários recém-compilados. Se alguém quiser usar o pacote para um curso posteriormente, pode ter que restaurar para hospedar um repositório próprio movido a drat usando r-hub para criar os binários apropriados para diferentes sistemas operacionais. (Dica: se você usar a interface da web r-hub, terá que clicar no artefatos link no e-mail do r-hub após uma construção bem-sucedida para acessar os binários criados.)

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Uma esperança para o futuro: uma alternativa CRAN menos rigorosa

Se olharmos para os resultados da verificação CRAN para o pacote lfe de 2020-12-04, minha interpretação (possivelmente errada) é que o único problema parece ter sido um Nota (não é um aviso ou erro) apenas para a compilação em Solaris:

Resultados de verificação de pacote CRAN para pacote vida

Última atualização em 2020-12-04 09:50:22 CET.

Verifique os detalhes

Versão: 2.8-5.1

Sinalizadores: – sem vinhetas

Verifique: sinalizadores de compilação usados

Resultado: NOTA

A compilação usou os seguintes sinalizadores não portáteis:
‘-mt’

Sabor: r-patched-solaris-x86

Provavelmente existem opiniões diferentes, mas me parece uma decisão muito difícil remover um pacote extremamente útil do CRAN só porque havia uma nota para Solaris.

Será que realmente temos que forçar os estatísticos que escrevem pacotes muito úteis a se aprofundar nas complexidades do compilador para um sistema operacional, provavelmente a maioria dos usuários nunca ouviu falar, apenas para remover uma nota?

E todos os usuários do pacote devem sofrer se tal nota não puder ser removida (por qualquer razão, por exemplo, restrições de tempo do mantenedor do pacote)?

Leia Também  Validação cruzada de modelo linear, xgboost e randomForest usando crossval :: crossval_ml

É claro que os mantenedores do CRAN realmente fazem um ótimo trabalho para a comunidade e gastam imensos recursos de tempo. Portanto, é claro, é seu direito especificar as diretrizes do CRAN como quiserem e de uma maneira que torne o CRAN ainda gerenciável.

Ainda assim, pessoalmente, adoraria se o CRAN se tornasse menos rigoroso ou alguma organização (RStudio talvez?) Algum dia suportasse um repositório alternativo com padrões menos rigorosos e mais preocupações com os problemas gerados para os usuários ao remover um pacote apenas por causa de um nota do compilador para Solaris.

Até então, esperemos que esses problemas sejam resolvidos rapidamente para que pacotes tão importantes cheguem ao CRAN.



[ad_2]

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br