安装dplyr时,我得到了旧版本

3

我试图安装最新版的dplyr(版本0.4.1)。但是多次尝试在几个不同的日期使用install.packages("dplyr")都只能安装版本0.2。

> install.packages("dplyr")
Installing package into ‘C:/Users/Ricky/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
trying URL 'http://mran.revolutionanalytics.com/snapshot/2014-10-01/bin/windows/contrib/3.1/dplyr_0.2.zip'
Content type 'application/zip' length 2235535 bytes (2.1 Mb)
opened URL
downloaded 2.1 Mb

我有漏掉的步骤吗?这是 Revolution Analytics 用户特有的问题吗?

以下是会话信息(如果有用)。

> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_Singapore.1252  LC_CTYPE=English_Singapore.1252    LC_MONETARY=English_Singapore.1252
[4] LC_NUMERIC=C                       LC_TIME=English_Singapore.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] devtools_1.6

loaded via a namespace (and not attached):
[1] tools_3.1.1

编辑:添加.libPaths()输出

> .libPaths()
[1] "C:/Users/Ricky/Documents/R/win-library/3.1" "C:/Program Files/RRO/R-3.1.2/library" 

我不知道是什么原因导致的,但我建议先升级到最新的R版本,然后再尝试一次。 - talat
也许看一下你的.libPaths()会很好。也许你安装了一个旧版本到不同的库中?如果你安装了旧版本,你也可以尝试使用update.packages()来查看是否可以解决问题。 - Gregor Thomas
@docendodiscimus:我之前没有考虑到这一点,因为我认为我的 Revolution 版本相当新(8.0),刚刚更新到了版本 8.0.1,它有所改进:dplyr 从版本 0.2 升级到了版本 0.3.0.2。虽然不是最新的可用版本。 - Ricky
@Gregor:我刚刚编辑了我的问题,给出了.libPaths()的输出。update.packages()没有发现dplyr有一个更新的版本。 - Ricky
我使用RStudio,对Revolution R不熟悉。如果您只使用RGui尝试安装dplyr,会有什么区别吗?(这可能是一个愚蠢的建议,因为我不了解Revolution R..) - talat
@docendodiscimus:刚刚尝试了一下从RGui运行,结果相同(已安装v0.3.0.2)。 - Ricky
3个回答

7
问题在于您正在使用MRAN的其中一个快照作为您的软件源。这些快照是为了更容易确保可重复性而设立的。如果您使用checkpoint包,则可能会设置此项。
如果您不想使用快照,则需要更改软件源。例如:
install.packages("dplyr", repos = "http://mran.revolutionanalytics.com")

太棒了!这个可以直接使用,不需要下载本地副本。谢谢! - Ricky

2
尝试下载软件包zip/tarball并在本地安装。
install.packages("my_desired_dplyr.zip",repos=NULL)

当我这样做时,我收到了一个成功的消息,但是dplyr包(包括我之前安装的版本)却消失了。我不得不从MRAN重新安装,又得到了早期的版本。 - Ricky
@Ricky,你尝试从GitHub安装dev. version了吗?你说的消失是什么意思?在从zip文件安装后,require / library返回错误吗? - Konrad
我没有尝试过开发版,也没有打算去尝试;通常更喜欢只使用正式发布的版本。“消失”是指安装后,require 命令提示找不到该软件包 - 可以 require 先前安装的 0.2 版本。 - Ricky
已经从CRAN重新下载了zip文件,而不是MRAN,现在似乎可以工作了。谢谢! - Ricky
我仍然很想知道为什么从CRAN安装不起作用,以及是否有解决方案可以直接从CRAN下载。 - Ricky
@Ricky,很高兴看到它起作用了。随意接受答案。关于安装特定版本的问题,您可以查看此函数,实际上您应该能够强制安装最新版本。我查看了MRAN和CRAN,两个版本都是相同的,这是预料之中的。老实说,我不知道。这只是一个猜测,也许R保存软件包的目录有问题。出于好奇,请查看这篇文章并确认您的lib路径是否正确。 - Konrad

1
问题在于你正在尝试安装一个已经为你的平台(在本例中是Windows)编译过的二进制包。CRAN通常为最新版本的R发布的用户提供最新版本的软件包,但不保证为旧版本的R用户提供最新版本的软件包。你可以查看dplyr的CRAN页面,看到可用于r-oldrel的版本为0.2。

enter image description here

您可以做两件事之一。
  1. You can upgrade to the most recent version of R, in which case you should be able to install dplyr v0.4.1 as a binary.

  2. Or you can try installing dplyr as a source package and compiling it on your machine.

    If you take this route, then you may need additional software on your Windows machine. See the R Installation and Administration Manual.

    Then you can install the source package with this command:

    install.packages("dplyr", type = "source")
    
顺便提一下,dplyr DESCRIPTION 只需要 R 3.0.2 或更高版本,所以那不是问题。

谢谢。选项1没有起作用,但是选项2似乎与Konrad的答案类似,成功解决了问题。我还没有接受答案,因为我想知道为什么这对CRAN不起作用,以及是否有直接从那里安装的解决方案。 - Ricky
你现在运行的是哪个版本的R?如果不是3.1.2,那么你只能从CRAN获得dplyr 0.2。 - Lincoln Mullen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接