R语言观察日志(part13)--从GitHub中下载R包

学习笔记,仅供参考,有错必纠



从GitHub中下载R包


这里,我们将介绍两种下载并加载R包的方式,即通过在线安装和本地安装。


在线安装


我们在使用在线安装的方法时,可能会遇到各种各样的问题,这里,我们试着下载2种R包,来尽量详细的阐述这个问题。


  • JuliaCall包

首先,我们需要安装devtools包:

install.packages("devtools")

如果我们想要下载https://github.com/Non-Contradiction/JuliaCall下的R包(项目名为:JuliaCall, 开发者名为:Non-Contradiction),可以敲入如下代码:

devtools::install_github("Non-Contradiction/JuliaCall")

这时,报了个错:

Error: Failed to install 'JuliaCall' from GitHub:
  Could not find tools necessary to compile a package
Call `pkgbuild::check_build_tools(debug = TRUE)` to diagnose the problem.

按照提示信息,我安装了一个Rtools:下载地址

安装完后,再执行上述代码:

> devtools::install_github("Non-Contradiction/JuliaCall")
Downloading GitHub repo Non-Contradiction/JuliaCall@HEAD
These packages have more recent versions available.
It is recommended to update all of them.
Which would you like to update?

1: All                          
2: CRAN packages only           
3: None                         
4: mime  (0.8   -> 0.9  ) [CRAN]
5: xfun  (0.11  -> 0.15 ) [CRAN]
6: Rcpp  (1.0.3 -> 1.0.5) [CRAN]
7: knitr (1.26  -> 1.29 ) [CRAN]

Enter one or more numbers, or an empty line to skip updates:2
stringi (NA    -> 1.4.6) [CRAN]
mime    (0.8   -> 0.9  ) [CRAN]
xfun    (0.11  -> 0.15 ) [CRAN]
Rcpp    (1.0.3 -> 1.0.5) [CRAN]
knitr   (1.26  -> 1.29 ) [CRAN]
Installing 5 packages: stringi, mime, xfun, Rcpp, knitr

  There is a binary version available but the source version is later:
      binary source needs_compilation
Rcpp 1.0.4.6  1.0.5              TRUE

trying URL 'https://mirrors.nju.edu.cn/CRAN/bin/windows/contrib/3.6/stringi_1.4.6.zip'
Content type 'application/zip' length 15310634 bytes (14.6 MB)
downloaded 14.6 MB

trying URL 'https://mirrors.nju.edu.cn/CRAN/bin/windows/contrib/3.6/mime_0.9.zip'
Content type 'application/zip' length 48395 bytes (47 KB)
downloaded 47 KB

trying URL 'https://mirrors.nju.edu.cn/CRAN/bin/windows/contrib/3.6/xfun_0.15.zip'
Content type 'application/zip' length 229980 bytes (224 KB)
downloaded 224 KB

trying URL 'https://mirrors.nju.edu.cn/CRAN/bin/windows/contrib/3.6/Rcpp_1.0.4.6.zip'
Content type 'application/zip' length 3030916 bytes (2.9 MB)
downloaded 2.9 MB

trying URL 'https://mirrors.nju.edu.cn/CRAN/bin/windows/contrib/3.6/knitr_1.29.zip'
Content type 'application/zip' length 1436187 bytes (1.4 MB)
downloaded 1.4 MB

package ‘stringi’ successfully unpacked and MD5 sums checked
Error: Failed to install 'JuliaCall' from GitHub:
  (converted from warning) cannot remove prior installation of package ‘stringi’

发现报错,现在我们把原本的stringi包删掉,重新下载stringi包,运行代码,又报了如下错误:

(converted from warning) cannot remove prior installation of package ‘Rcpp’

我再次将Rcpp包删除,并重新下载Rcpp包,运行代码,遇到下面的对话框,我选择

下载完毕,导入成功:

library(JuliaCall)

  • gapminder包

我们从GitHub上下载gapminder包:

devtools::install_github("jennybc/gapminder")

报错:

Error: Failed to install 'devtools' from GitHub:
  schannel: failed to receive handshake, SSL/TLS connection failed

现在,有如下解决方案:解决 devtools::install_github 的 SSL/TLS connection failed 问题

我们试着用这种方案,解决这个问题。

首先,在Git Bash中敲入如下代码:

git config --global http.sslBackend "openssl"
git config --global http.sslCAInfo F:\software\R-3.6.2\library\openssl\cacert.pem

再次运行代码,发现又报出了如下错误:

(converted from warning) cannot remove prior installation of package ‘ellipsis’

么得办法,遇到该问题,可以删除该包,并重新下载。

在这里,我为了防止一些列麻烦,干脆把所有以安装的R包更新一遍,并再次运行代码,对gapminder包进行下载。

最后,下载完毕,导入成功:

library(gapminder)

  • 注意事项

在线安装的过程中,可能会遇到各种各样的错误,大家可以查阅各种资料,耐心解决。


本地安装


  • 如何下载GitHub项目到本地呢?

我们可以从GitHub上clone一个项目,也可以下载R的zip包,但是从GitHub上clone一个项目是真的慢…

这里,说一句题外话,我们先来熟悉一下如何利用码云从GitHub上clone一个项目,再学习如何加载R包。


利用码云clone一个项目


打开码云,点击从GitHub导入仓库:


将项目的url填入,并点击网页下方的导入


很快,项目就被导入到码云上了:


现在,我们打开Git Bash,从码云上clone项目:

git clone https://gitee.com/goatbishop/efficientR.git

现在,它弹出一个用户名密码框,我们填入码云的用户名和密码,点击确定:


开始clone了,可以看到速度非常迅速:

Cloning into 'efficientR'...
remote: Enumerating objects: 9330, done.
remote: Counting objects: 100% (9330/9330), done.
remote: Compressing objects: 100% (2266/2266), done.
remote: Total 9330 (delta 7018), reused 9330 (delta 7018), pack-reused 0
Receiving objects: 100% (9330/9330), 60.73 MiB | 8.03 MiB/s, done.
Resolving deltas: 100% (7018/7018), done.

现在,我们已经完成了项目的下载了。


下载zip文件加载R包


回到正题,我们下载一个R压缩包,并利用devtools包,对其进行加载。

现在,我们试着下载pipR包,我采用和上面相同的步骤,直到clone那一为止,我们不要在Git Bash中clone这个项目,而是在码云上直接下载该压缩包到本地:

现在,我需要将本地的R包所在地址作为参数,输送给devtools包下的install_local函数:

devtools::install_local("F:\\temp_download\\pipeR-master.zip")

pipR包导入成功:

library(pipeR)

猜你喜欢

转载自blog.csdn.net/m0_37422217/article/details/107533810
今日推荐