Updating R from R (no Windows) – usando o pacote {installr}

Upgrading R no Windows não é fácil. Enquanto a FAQ do R oferece diretrizes, alguns usuários podem preferir simplesmente executar um comando para atualizar seu R para a versão mais recente. É disso que trata o novo pacote {installr}.

O pacote {installr} oferece um conjunto de funções R para a instalação e actualização de software (actualmente, apenas no SO Windows), com um foco especial no próprio R. Para actualizar o R, pode simplesmente correr o seguinte código:

# installing/loading the package:if(!require(installr)) {install.packages("installr"); require(installr)} #load / install+load installr# using the package:updateR() # this will start the updating process of your R installation. It will check for newer versions, and if one is available, will guide you through the decisions you'd need to make.

Executar esta função irá executar os seguintes passos:

  • Verificar qual é a última versão do R. Se a versão actual do R instalado estiver actualizada, a função termina (e devolve FALSO)

  • Se estiver disponível uma versão mais recente do R, ser-lhe-á perguntado se deve rever as NOTÍCIAS da última versão do R – para decidir se instala ou não o
    newest R.

  • Se o desejar – a função irá descarregar e instalar a última versão do R. (você precisará pressionar os botões “next” por conta própria)

  • Uma vez feita a instalação, você deverá pressionar “any-key”, e a função irá prosseguir com a cópia de todos os seus pacotes da sua instalação R antiga (bem, atual), para a sua instalação R mais recente.

  • Você pode então apagar todos os pacotes da sua instalação R antiga.

  • p> Depois que seus pacotes forem movidos (e os antigos possivelmente apagados), você terá a opção de atualizar todos os seus pacotes na nova versão do R.
  • p> Lastely – você pode abrir o novo Rgui e fechar a sessão atual do seu R antigo. (Isto é um buggy na versão 0.8, mas foi corrigido na versão 0.8.1)

Se você sabe que deseja atualizar o R, e quer que os pacotes sejam movidos (não copiados, MOVED), você pode simplesmente executar:

# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installrupdateR(F, T, T, F, T, F, T) # install, move, update.package, quit R.

Desde que os vários passos sejam quebrados em funções individuais, você também pode pegar e escolher o que será executado usando a função relevante:

# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installr# step by step functions:check.for.updates.R() # tells you if there is a new version of R or not.install.R() # download and run the latest R installercopy.packages.between.libraries() # copy your packages to the newest R installation from the one version before it (if ask=T, it will ask you between which two versions to perform the copying)

Se você gosta de usar o sistema de biblioteca global, você pode executar o seguinte no antigo R:

# installing/loading the package:if(!require(installr)) { install.packages("installr"); require(installr)} #load / install+load installrupdateR(F, T, F, F, F, F, T) # only install R (if there is a newer version), and quits it.

E então executar o seguinte na nova versão do R:

source("https://www.r-statistics.com/wp-content/uploads/2010/04/upgrading-R-on-windows.r.txt")New.R.RunMe()

O pacote {installr} também oferece funções para instalar vários outros softwares no Windows. Estas funções incluem: install.pandoc (que foi mencionado neste blog recentemente), install.git, install.Rtools, install.MikTeX, install.RStudio, e uma instalação geral funções install.URL e install.packages.zip. Você pode ver estas explicações no manual de referência do pacote.

Requisições de recursos, relatórios de bugs – e sua ajuda para melhorar o pacote

Você pode ver a última versão do installr no github, onde você também pode enviar relatórios de bugs (você também pode apenas deixar um comentário neste post). Como este é o meu primeiro pacote R, eu posso ter (e.g.: provavelmente terei) perdido algo aqui ou ali. Então qualquer comentário sobre como melhorar meu código/documentação/R-fu, será muito bem-vindo (aqui ou no github).

Se este tipo de codificação é divertido/fácil para você, você pode me ajudar a melhorar este pacote no github. Novos recursos legais que eu acho que podem ser adicionados (por mim ou outros) são:

  • Adicionar uma função uninstall.R – para remover a versão antiga do R.
  • Adicionar mais suporte para atualizar o R para pessoas que usam uma biblioteca global para seus pacotes.
  • Adicionar suporte para Linux e Mac! Esta eu tenho menos probabilidade de fazer por conta própria – e adoraria ver alguém estender meu código para outros sistemas operacionais.
  • GUI – adicionar uma opção baseada em menu para executar updateR. Algo como help->”check for updates” seria ótimo. (p.s: esta ideia veio do Yihui Xie)
  • add ainda mais funções install.software. Se você tem funções para as quais você gostaria de poder instalá-las facilmente – apenas me avise e elas poderão ser incluídas em lançamentos futuros.

Bancos

Nota final, eu gostaria de agradecer às muitas pessoas que desenvolveram ferramentas MARAVILHOSAS para tornar o desenvolvimento de pacotes R possível (e até mesmo um pouco rápido), no Windows. Estes incluem o Prof. Brian Ripley e Duncan Murdoch para Rtools, também Uwe Ligges pelo seu trabalho no CRAN, Hadley Wickham para devtools (em geral, e por sua documentação), Yihui Xie para roxygen2, JJ e outros da equipe do RStudio para o RStudio, as pessoas por trás do git e do github, e muito mais. Há provavelmente mais coisas pelas quais eu posso agradecer a essas pessoas, e muitas mais pessoas que eu deveria agradecer, mas eu não consigo perceber quem você é provavelmente (sinta-se à vontade para me enviar um e-mail, eu agradeço o seu trabalho mesmo que não esteja claro para mim que você está por trás disso).

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *