Preciso de devtools porque preciso da função install_github para instalar o pacote não-CRAN digitalizado aqui . Eu instalei R
por
sudo apt-get install r-cran-robustbase
Não instalei os pacotes do R imediatamente, como propõe a resposta de terdon, mas consegui corrigir as permissões:
sudo chmod 755 /usr/lib/R/site-library/
que eu acho que é a configuração padrão. Eu tive que fazer o que a resposta da rcs propõe, para instalar com sucesso devtools
e tpoisot/digitize
apenas 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 digitalizar sem sudo
. Faça isso sudo R
e repita o mesmo e você obtém
...
'/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
no R
; que você precisa também em uma nova instalação
sudo usermod -a -G staff masi
Testes de instalação
Eu sigo o guia aqui . Eu começo
R
em$HOME/Pictures/
semsudo
e usar sua imagem de teste aqui .Selecione quatro pontos nos eixos com o mouse
cal = digitize::ReadAndCal('Rintro-snail1.jpg')
- Faça
data.points = digitize::DigitData(col = 'red')
e escolha manualmente os pontos que são seus pontos de dados
Fecho a janela Plot clicando duas vezes.
Faça
df = digitize::Calibrate(data.points, cal, 0.1, 0.4, 0.0, 0.6)
e vendodf
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
Dentro
R
e semsudo
> .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 listadevtools
. 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)
fica carregado
Ferramentas diferenciais
- Este projeto é mais popular e pode funcionar melhor https://github.com/markummitchell/engauge-digitizer
Razões para erros anteriores
- Nenhum sistema limpo: sistemas que foram atualizados a partir de 14.04, 15.10, etc.
- Permissões / proprietários desarrumados por causa da coisa anterior.
- Próprios erros no processo.
- Não há backups em caso de falha.
- ...
- documentos ausentes
Sistema: Ubuntu 16.04 64 bits em uma instalação limpa
Hardware: Dell PC 2013, Macbook Air 2013-mid, ...
fonte
devtools
atravéssudo R
, deixe-me executar alibrary(devtools)
partir de uma sessão R não-sudo. Adicione a saída de i).Library
executar a partir de umaR
sessão normal e ii) desudo R
e iii) verifique se há umdevtools
subdiretório no caminho fornecido por esses comandos. No meu sistema, está em/usr/lib64/R/library/devtools/
.devtools
subdiretório/usr/lib/R/library
?library(devtools)
e carregar a biblioteca com sucesso?.libPaths()
do R?/usr/local/lib/R/site-library
? Você provavelmente faz. Em caso afirmativo, consulte minha resposta (recentemente) atualizada.Respostas:
httr
importa oopenssl
pacote que precisa como requisito do sistemalibssl-dev
(sudo apt install libssl-dev
)O
curl
pacote precisa como requisito do sistemalibcurl4-openssl-dev
:Portanto, para instalar, você precisará executar:
Em seguida, inicie um shell R com
sudo R
e:fonte
devtools
, você precisainstall.packages('readbitmap')
, consulte o corpo para a versão final.Como regra geral, você não altera apenas as permissões dos diretórios do sistema! É para isso que serve o acesso root. Coloque as permissões de volta da maneira como as encontrou e da próxima vez em que executar
sudo R
e ainstall.packages
partir do shell R raiz resultante.Agora, o motivo pelo qual você não pode instalar está aí na saída que você mostra:
Aparentemente, como explicado pelo rcs , no Ubuntu, você precisa instalar
libssl-dev
elibcurl4-openssl-dev
primeiro.O próximo problema é que a instalação R do seu usuário raiz tem
/usr/local/lib/R/site-library
como o primeiro diretório na saída de.libPaths
e que não está nos caminhos do seu usuário comum. Como é a primeira entrada para root, é onde a sua biblioteca foi instalada:Portanto, uma solução simples é criar um arquivo chamado
~/.Rprofile
e adicionar esta linha a ele:Como alternativa, ou adicionalmente, você pode incluir uma linha como
Isso permitirá que você instale bibliotecas no diretório
/home/masi/Rlibs
(escolha o nome que desejar) no futuro e, assim, evite a necessidadesudo R
.Como alternativa, você pode definir a variável de ambiente
R_LIBS_USER
como/usr/local/lib/R/site-library/
(/home/masi/Rlibs
ou onde quer que suas bibliotecas estejam sendo instaladas). Basta adicionar esta linha ao seu~/.profile
:fonte
R_LIBS_USER="/usr/local/lib/R/site-library/" R
e, em R, executelibrary(devtools)
..libPaths("/home/masi/Rlibs")
depois.libPaths("/usr/local/lib/R/site-library/")
disso, substituirá a configuração original. Se você deseja adicionar um diretório de biblioteca, deve ser:.libPaths(c(.libPaths(), "/home/masi/Rlibs") )