Como instalar os devtools de R e digitalizar?

8

Eu preciso de devtools porque eu preciso da função install_github para instalar o pacote não-CRAN digitize here . Eu instalei R por

sudo apt-get install r-cran-robustbase

Eu não instalei os pacotes de R imediatamente, como a resposta de Terdon propõe, mas eu posso corrigir as permissões:

sudo chmod 755 /usr/lib/R/site-library/

que eu acho que é a configuração padrão. Eu então tive que fazer como rcs 'responde propõe, para instalar com sucesso devtools e tpoisot/digitize mas somente com

sudo apt-get install libssl-dev
sudo apt-get install libcurl4-openssl-dev
R
install.packages('httr')
install.packages('git2r')
install.packages('devtools')
library(devtools)
install.packages('readbitmap')
install_github('tpoisot/digitize')

A saída do último comando pode ser

Skipping install for github remote, the SHA1 (d16e28b9) has not changed since last install.
  Use 'force = TRUE' to force installation

Faça install_github('tpoisot/digitize', force = TRUE) , mas você pode obter

...
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet  \
  CMD INSTALL '/tmp/RtmpX8eOLX/devtools57475d25a113/tpoisot-digitize-d16e28b'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

Error: ERROR: no permission to install to directory ‘/usr/local/lib/R/site-library’
Error: Command failed (1)

Não consegui encontrar uma maneira de instalar a digitalização sem sudo . Então faça sudo R , e repita o mesmo e você terá

...
'/usr/lib/R/bin/R' --no-site-file --no-environ --no-save --no-restore --quiet  \
  CMD INSTALL '/tmp/RtmpAlAT4e/devtools57e864e8c490/tpoisot-digitize-d16e28b'  \
  --library='/usr/local/lib/R/site-library' --install-tests 

* installing *source* package ‘digitize’ ...
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (digitize)

Adicione masi ao grupo existente staff para trabalhar sem sudo em R ; que você também precisa em uma instalação nova

sudo usermod -a -G staff masi

Testes da instalação

  1. Eu sigo o guia aqui . Eu começo R em $HOME/Pictures/ sem sudo e uso a imagem de teste deles aqui .

  2. Selecione quatro pontos nos eixos com o mouse cal = digitize::ReadAndCal('Rintro-snail1.jpg')

  • Do data.points = digitize::DigitData(col = 'red') e escolha manualmente os pontos que são seus pontos de dados
  • Eu fecho a janela Plot fazendo um segundo clique.

  • Faça df = digitize::Calibrate(data.points, cal, 0.1, 0.4, 0.0, 0.6) e veja df

           x  y
    1  71.50 NA
    2  65.65 NA
    ...
    24 26.80 NA
    

    Fazendo head(df)

          x  y
    1 71.50 NA
    2 65.65 NA
    3 64.60 NA
    4 60.85 NA
    5 59.05 NA
    6 58.15 NA
    
  • Detalhes da instalação

    • Em R e sem sudo

      > .Library
      [1] "/usr/lib/R/library"
      > > .libPaths()
      [1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"      
      [3] "/usr/lib/R/library"  
      
    • Comando ls /usr/lib/R/library/ , que não lista devtools . Por quê?

      base       compiler   grid        methods   rpart    survival
      boot       datasets   KernSmooth  mgcv      spatial  tcltk
      class      foreign    lattice     nlme      splines  tools
      cluster    graphics   MASS        nnet      stats    translations
      codetools  grDevices  Matrix      parallel  stats4   utils
      
    • Comando ls -la /usr/local/lib/R/

      total 12
      drwxrwsr-x 3 root staff 4096 touko 19 22:25 .
      drwxr-xr-x 5 root root  4096 touko 19 22:25 ..
      drwxrwsr-x 2 root staff 4096 touko 19 22:25 site-library
      
    • Comando ls -la /usr/local/lib/

      total 20
      drwxr-xr-x  5 root root  4096 touko 19 22:25 .
      drwxr-xr-x 14 root root  4096 touko 19 22:13 ..
      drwxrwsr-x  4 root staff 4096 huhti 21 01:13 python2.7
      drwxrwsr-x  3 root staff 4096 huhti 21 01:08 python3.5
      drwxrwsr-x  3 root staff 4096 touko 19 22:25 R
      
    • Comando R_LIBS_USER="/usr/local/lib/R/site-library/" R

       R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
       Copyright (C) 2015 The R Foundation for Statistical Computing
       Platform: x86_64-pc-linux-gnu (64-bit)
       ...
      
    • library(devtools) é carregado

    Ferramentas diferenciais

    • Este projeto é mais popular e pode funcionar melhor link

    Razões para erros anteriores

    • Nenhum sistema limpo: sistemas que foram atualizados a partir de 14.04, 15.10, etc.
    • Permissões / proprietários confusos por causa do item anterior.
    • Erros próprios no processo.
    • Não há backups no caso de falha.
    • ...
    • documentos em falta

    Sistema: Ubuntu 16.04 de 64 bits em uma instalação limpa | Hardware: Dell PC 2013, Macbook Air 2013-meados, ...

        
    por Léo Léopold Hertz 준영 07.05.2016 / 12:41

    2 respostas

    11

    httr importa o pacote openssl que precisa como requisito do sistema libssl-dev ( sudo apt install libssl-dev )

    ------------------------- ANTICONF ERROR ---------------------------
    Configuration failed because openssl was not found. Try installing:
     * deb: libssl-dev (Debian, Ubuntu, etc)
    ...
    

    O pacote curl precisa do requisito do sistema libcurl4-openssl-dev :

    ------------------------- ANTICONF ERROR ---------------------------
    Configuration failed because libcurl was not found. Try installing:
     * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
    ...
    

    Então, para instalar, você precisará executar:

    sudo apt-get install libssl-dev
    sudo apt-get install libcurl4-openssl-dev
    

    Em seguida, inicie um shell R com sudo R e:

    install.packages('httr')
    install.packages('git2r')
    install.packages('devtools')
    library(devtools)
    install_github('tpoisot/digitize')
    
        
    por 07.05.2016 / 13:27
    2

    Como regra geral, você não apenas altera as permissões dos diretórios do sistema! Isso é o que é o acesso root. Coloque as permissões de volta do jeito que você as encontrou e, da próxima vez, execute sudo R e install.packages do shell raiz R resultante.

    Agora, o motivo pelo qual você não pode instalar está bem na saída exibida:

    ERROR: dependencies ‘httr’, ‘git2r’ are not available for package ‘devtools’
    

    Aparentemente, como explicado por rcs , no Ubuntu, você precisa instalar libssl-dev e libcurl4-openssl-dev primeiro.

    A próxima questão é que a instalação R do usuário root tem /usr/local/lib/R/site-library como o primeiro diretório na saída de .libPaths e que não está nos caminhos de seu usuário comum. Como essa é a primeira entrada do root, é onde sua biblioteca foi instalada:

     Installing package into ‘/usr/local/lib/R/site-library’
    (as ‘lib’ is unspecified)
    

    Portanto, uma solução simples é criar um arquivo chamado ~/.Rprofile e adicionar essa linha a ele:

    .libPaths("/usr/local/lib/R/site-library/")
    

    Como alternativa, ou adicionalmente, você pode incluir uma linha como

       .libPaths("/home/masi/Rlibs")
    

    Isso permitiria que você instalasse bibliotecas no diretório /home/masi/Rlibs (escolha o nome que quiser) no futuro e evite a necessidade de sudo R .

    Como alternativa, você pode definir a variável de ambiente R_LIBS_USER a /usr/local/lib/R/site-library/ (ou /home/masi/Rlibs ou onde quer que suas bibliotecas estejam sendo instaladas). Basta adicionar esta linha ao seu ~/.profile :

    R_LIBS_USER=/usr/local/lib/R/site-library/
    
        
    por 07.05.2016 / 13:04