如何安装不在CRAN存储库中的软件包?

时间:2013-06-21 08:54:49

标签: r repository package install cran

我正在尝试使用Google趋势数据,并且遇到了一些不在CRAN上的软件包(GTrendsRGoogleTrends)。

我喜欢我在RGoogleTrends软件包at this blog中看到的内容,并希望尝试一下。 RGoogleTrends包位于:http://www.omegahat.org/RGoogleTrends/

首先,我使用的是Windows操作系统,我的R控制台中有一个提升:

>Packages>Install package(s) from local zip drives ...

这导致以下结果:

> utils:::menuInstallLocal()
Error in read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) : 
  cannot open the connection
In addition: Warning messages:
1: In unzip(zipname, exdir = dest) : error 1 in extracting from zip file
2: In read.dcf(file.path(pkgname, "DESCRIPTION"), c("Package", "Type")) :
  cannot open compressed file 'RGoogleTrends_0.2-1.tar.gz/DESCRIPTION', probable reason 'No such file or directory'

我猜这与文件是.gz而不是.zip文件的事实有关。

所以,我将.gz文件解压缩到R之外,然后将其压缩成.zip文件(这是一种更好的方法)。现在我可以安装.zip文件,但是当我尝试使用library加载时,会出现以下错误:

> library(RGoogleTrends)
Error in library(RGoogleTrends) : 
  ‘RGoogleTrends’ is not a valid installed package

我在这里做错了什么?

3 个答案:

答案 0 :(得分:14)

你需要R版本3,你可以在这里得到例如: http://cran.cnr.berkeley.edu/bin/windows/base/R-3.0.1-win.exe

然后打开R并输入:

install.packages("devtools")
require(devtools)
install_url("http://www.omegahat.org/RGoogleTrends/RGoogleTrends_0.2-1.tar.gz")
require(RGoogleTrends)
ls("package:RGoogleTrends")

在此过程中您可能会收到很少的警告。别理他们。然后你应该能够使用这个包。

答案 1 :(得分:4)

我认为一个包的构建方式与linux不同,而不是windows,因此.gz版本无法转换为.zip

此链接表示您应该只能使用解压缩版本... http://decisionstats.com/2013/04/26/using-a-linux-only-package-in-windows-rstats/

其中的评论表明devtools或Rtools,两者都允许从gz文件直接安装

直接解压缩并使用

  1. 从tar.gz提取到.tar
  2. 从.tar
  3. 中提取
  4. 将工作目录设置为R子文件夹,例如Setwd( "C:\\Users\\x\\Documents\\RGoogleTrends_0.2-1.tar\\RGoogleTrends_0.2-1\\RGoogleTrends\\R")
  5. 加载所有功能for (i in list.files()){source(i)}
  6. 使用devtools

    1. 安装devtools
    2. library("devtools")
    3. 设置为包含.tar.gz文件的文件夹
    4. install("RGoogleTrends_0.2-1.tar.gz")
    5. 使用Rtools

      1. http://cran.r-project.org/bin/windows/Rtools/
      2. 下载正确的版本
      3. 从.exe
      4. 安装
      5. 检查http://cran.r-project.org/bin/windows/Rtools/Rtools.txt
      6. 中是否需要任何内容
      7. 从命令行运行R(cmd到start中的搜索) - 参见
      8. 设置为包含.tar.gz文件的文件夹
      9. R CMD INSTALL * .tar.gz
      10. 我首选的方法是devtools

答案 2 :(得分:1)

我遇到了各种各样的错误,例如:

not supported in current version
cannot find DEPENDENCIES
cannot unzip

如果您正在运行Windows并为所有用户安装并且作为普通用户运行(您应该出于各种原因)安装软件包很有意思。

我最终做的是

close R
open R as admin
load base package

我已经下载了这些软件包,因此我可以离线安装,它们位于f:\software\rcontrib

然后运行:

files=list.files(path="f:/software/rcontrib",pattern="*.zip",include.dirs=TRUE)
for (i in seq(along=files)){install.packages(files[i],repos=NULL)}

这将从本地目录/公共文件共享/非Internet位置批量加载包。

然后你可以退出R.以机器上的任何用户身份运行你应该能够使用这些包。

这有望为人们节省几个小时,我浪费了大量加载并克服R中实际上是Windows安全性的错误。