如何安装 R 的 devtools 并进行数字化?

Léo*_* 준영 9 ubuntu software-installation r

我需要devtools因为我需要函数install_github来安装非 CRAN 包digitize here。我安装R

sudo apt-get install r-cran-robustbase
Run Code Online (Sandbox Code Playgroud)

我没有立即安装 R 的软件包,正如 terdon 的回答所建议的那样,但我可以更正权限:

sudo chmod 755 /usr/lib/R/site-library/
Run Code Online (Sandbox Code Playgroud)

我认为这是默认设置。然后我不得不按照 rcs 的回答建议,成功安装devtoolstpoisot/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')
Run Code Online (Sandbox Code Playgroud)

最后一个命令的输出可以是

Skipping install for github remote, the SHA1 (d16e28b9) has not changed since last install.
  Use `force = TRUE` to force installation
Run Code Online (Sandbox Code Playgroud)

做,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)
Run Code Online (Sandbox Code Playgroud)

我找不到没有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)
Run Code Online (Sandbox Code Playgroud)

添加masi到现有组staff以在没有sudoin 的情况下工作R;您在全新安装中也需要

sudo usermod -a -G staff masi
Run Code Online (Sandbox Code Playgroud)

安装测试

  1. 我按照这里的指南。我开始R$HOME/Pictures/没有sudo和使用他们的测试图像在这里

  2. 用鼠标在轴上选择四个点 cal = digitize::ReadAndCal('Rintro-snail1.jpg')

在此处输入图片说明

  1. data.points = digitize::DigitData(col = 'red')和选择手动点是你的数据点

在此处输入图片说明

  1. 我通过第二次单击关闭 Plot 窗口。

  2. 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
    
    Run Code Online (Sandbox Code Playgroud)

    正在做 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
    
    Run Code Online (Sandbox Code Playgroud)

安装详情

  • 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"  
    
    Run Code Online (Sandbox Code Playgroud)
  • 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
    
    Run Code Online (Sandbox Code Playgroud)
  • 命令 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
    
    Run Code Online (Sandbox Code Playgroud)
  • 命令 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
    
    Run Code Online (Sandbox Code Playgroud)
  • 命令 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)
     ...
    
    Run Code Online (Sandbox Code Playgroud)
  • library(devtools) 被加载

差速器

以前的错误的原因

  • 没有干净的系统:从 14.04、15.10 等升级的系统。
  • 由于之前的事情搞砸了权限/所有者。
  • 过程中自己犯错。
  • 发生故障时没有备份。
  • ...
  • 缺少文档

系统:全新安装的 Ubuntu 16.04 64 位
硬件:Dell PC 2013、Macbook Air 2013-mid、...

小智 11

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)
...
Run Code Online (Sandbox Code Playgroud)

curl软件包需要作为系统要求libcurl4-openssl-dev

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

因此,要安装,您需要运行:

sudo apt-get install libssl-dev
sudo apt-get install libcurl4-openssl-dev
Run Code Online (Sandbox Code Playgroud)

然后使用sudo Rand启动 R shell :

install.packages('httr')
install.packages('git2r')
install.packages('devtools')
library(devtools)
install_github('tpoisot/digitize')
Run Code Online (Sandbox Code Playgroud)