Ubuntu
如何安裝 R 的開發工具並進行數字化?
我需要devtools因為我需要函式install_github來在這里安裝非 CRAN 包digitize 。我安裝了
R
sudo apt-get install r-cran-robustbase
正如 terdon 的回答所建議的那樣,我沒有立即安裝 R 的軟體包,但我可以更正權限:
sudo chmod 755 /usr/lib/R/site-library/
我認為這是預設設置。然後我不得不按照 rcs 的回答建議,成功安裝
devtools
,tpoisot/digitize
但只能使用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')
最後一條命令的輸出可以是
Skipping install for github remote, the SHA1 (d16e28b9) has not changed since last install. Use `force = TRUE` to force installation
做
install_github('tpoisot/digitize', force = TRUE)
,但你可能會得到... '/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)
如果沒有
sudo
. 照樣做sudo R
,重複同樣的事情,你會得到... '/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)
添加
masi
到現有組staff
以在沒有sudo
in的情況下工作R
;您還需要全新安裝sudo usermod -a -G staff masi
安裝測試
- 我按照這裡的指南。我從沒有開始並
R
在這裡使用他們的測試圖像。$HOME/Pictures/``sudo
- 用滑鼠選擇軸中的四個點
cal = digitize::ReadAndCal('Rintro-snail1.jpg')
- 執行
data.points = digitize::DigitData(col = 'red')
並手動選擇作為您的數據點的點
- 我通過第二次點擊關閉了繪圖視窗。
- 做
df = digitize::Calibrate(data.points, cal, 0.1, 0.4, 0.0, 0.6)
和看df
x y 1 71.50 NA 2 65.65 NA ... 24 26.80 NA
正在做
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
安裝細節
- 在
R
和沒有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"
ls /usr/lib/R/library/
沒有列出的命令devtools
。為什麼?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
- 命令
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
- 命令
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
- 命令
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)
被載入差分工具
- 這個項目更受歡迎,可以更好地工作 https://github.com/markummitchell/engauge-digitizer
以前的錯誤的原因
- 無清潔系統:從 14.04、15.10 等升級的系統。
- 由於以前的事情而搞砸了權限/所有者。
- 過程中自己的錯誤。
- 在失敗的情況下沒有備份。
- …
- 缺少文件
系統:全新安裝的 Ubuntu 16.04 64 位
硬體:Dell PC 2013,Macbook Air 2013-mid,…
httr
導入openssl
需要作為系統要求的包libssl-dev
(sudo apt install libssl-dev
)------------------------- ANTICONF ERROR --------------------------- Configuration failed because openssl was not found. Try installing: * deb: libssl-dev (Debian, Ubuntu, etc) ...
該
curl
軟體包需要作為系統要求libcurl4-openssl-dev
:------------------------- ANTICONF ERROR --------------------------- Configuration failed because libcurl was not found. Try installing: * deb: libcurl4-openssl-dev (Debian, Ubuntu, etc) ...
因此,要安裝,您需要執行:
sudo apt-get install libssl-dev sudo apt-get install libcurl4-openssl-dev
然後使用 and 啟動一個 R shell
sudo R
:install.packages('httr') install.packages('git2r') install.packages('devtools') library(devtools) install_github('tpoisot/digitize')