无法使用install.packages安装R-forge软件包
这个 问题 是在R-sig-finance邮件列表上提出的,但是我不认为这是在stackoverflow上提出的。
它是这样的:
我在哪里可以获得在R-forge上托管的XYZ软件包的最新版本? 我试图用install.packages
安装它,但是这是发生了什么事:
> install.packages("XYZ",repos="http://r-forge.r-project.org") Warning message: package 'XYZ' is not available (for R version 2.15.0)
在XYZ的R-forge网站上查看,我发现该软件包未能建立。 因此,没有链接来下载源代码。 有没有其他的方式来获得源代码? 一旦我得到源代码,我怎么能把它变成一个包,我可以加载library("XYZ")
?
由于几个不同的原因,R-Forge可能无法构建一个软件包。 可能是文档没有被更新以反映代码中的最近更改。 或者,也可能是某些依赖关系在构建时不可用。
你可以使用svn检出源代码。 首先,在R-Forge网站上搜索项目并转到项目主页 – 例如http://r-forge.r-project.org/projects/returnanalytics/点击SCM链接进入页面像这个http://r-forge.r-project.org/scm/?group_id=579
这个页面会告诉你用来检出项目的命令。 在这种情况下,你会得到
可以使用以下命令通过匿名访问检出项目的SVN存储库。
svn checkout svn://svn.r-forge.r-project.org/svnroot/returnanalytics/
如果你在Windows上,你可能要下载并安装TortoiseSVN
一旦你安装了TortoiseSVN,你可以右击Windows资源管理器窗口并选择“SVN checkout”。 在“存储库URL:”字段中,输入您在R-Forge上找到的命令的“svn checkout”部分以外的所有内容。 在这种情况下,你可以输入“svn://svn.r-forge.r-project.org/svnroot/returnanalytics/”。
当您单击确定时,该项目将被下载到当前目录。
如果您使用的是类UNIX系统(或者如果您在安装Windows的TortoiseSVN时安装了命令行客户端工具(这不是默认设置)),则可以键入R-forge在您的终端中给出的命令(系统终端,而不是R终端)
svn checkout svn://svn.r-forge.r-project.org/svnroot/returnanalytics/
这将在当前工作目录下创建一个包含包中所有文件的新目录。 在该目录的顶层将是一个名为“pkg”的子目录。 这个特定的项目(returnanalytics)包含多个包。
ls returnanalytics/pkg #FactorAnalytics MPO PApages PerformanceAnalytics PortfolioAnalytics
但是一些R-forge项目只有一个包装。 例如
svn checkout svn://svn.r-forge.r-project.org/svnroot/random/ #Checked out revision 14. ls random/pkg #DESCRIPTION inst man NAMESPACE R
现在你已经有了一个本地拷贝所有的代码,如果你想能够安装这个包,你必须先构建它。
谨慎之词:由于R-Forge未能建立包装,因此包装存在问题的可能性很大。 因此,如果你只是建立它,你可能会发现有些东西不能按预期工作。 特别是文件可能丢失或不完整。
如果您使用的是类UNIX系统,则可以比较容易地构建和安装该软件包。 对于像returnanalytics这样的多包项目,如果你想安装,例如PortfolioAnalytics包,你可以这样做
R --vanilla CMD INSTALL --build returnanalytics/pkg/PortfolioAnalytics
“PortfolioAnalytics”是包含要构建/安装的包的目录的名称。 对于单包项目,您可以像这样构建和安装
R --vanilla CMD INSTALL --build random/pkg
如果您想在Windows上构建/安装软件包,请参阅此问题并按照@JoshuaUlrich提供的两个 链接
更多信息请参阅R安装与管理 , R-Forge用户手册和SVN手册 。
如果(且只有)你有适当的工具链为您的操作系统,那么这可能会成功:
# First download source file to your working directory # As an example use browser to download pkg:partykit from: # http://download.r-forge.r-project.org/src/contrib/partykit_1.1-2.tar.gz # Move to working directory # Or in the case of returnanalytics (which is a bundle of packages): # http://r-forge.r-project.org/R/?group_id=579 and download the tar.gz (source) # Then in R: install.packages( "partykit_1.1-2.tar.gz", repo=NULL, type="source") # for the first of the ReturnAnalytics packages: install.packages( "Dowd_0.11.tar.gz", repo=NULL, type="source")
这些方向应该是“跨平台”的。 我不确定接受的答案中的指示适用于Mac(OSX) 。 (我后来证实,他们在Mac上“工作”,但发现这个过程更多地涉及到了我上面提到的内容,它们的确产生了一个包含这个包的应用程序的目录R --vanilla CMD INSTALL --build pathToEachPackageSeparately
应该是成功的R --vanilla CMD INSTALL --build pathToEachPackageSeparately
)
也可能您正在尝试安装的软件包的当前版本需要更新版本的R,例如,您可能会看到如下错误:
“错误:此R是版本2.15.0,包”PerformanceAnalytics“需要R> = 3.0.0”
那么你可以尝试更新你的R
或者,如果您面对与我相同的情况,试图使用pqR(目前使用R版本2.15),您可以在这里找到过时的包:
http://cran.at.r-project.org/src/contrib/Archive/PerformanceAnalytics/
您可以从R-Forge软件包页面 – >“稳定版本:从CRAN获取PerformanceAnalytics 1.4.3541” – >旧的来源:PerformanceAnalytics归档
例如,您会发现软件包PerformanceAnalytics版本1.1.0只需要R> = 2.14
祝你好运