从源代码安装包?

时间:2013-06-08 02:51:47

标签: r installation packages

我正在尝试在R上安装较旧版本的phylogenetics软件包“geiger”。我在Windows XP机器上。我尝试了以下结构:

install.packages(C:\geiger_1.3-1.tar.gz, repos = NULL, type = "source")

我能想到的每一种排列。

有没有人有任何想法?

编辑:返回的错误是:

Error: unexpected input in "install.packages(C:\"

3 个答案:

答案 0 :(得分:5)

不应该将文件名作为字符串传递(或者更好的是w / file.path)?例如install.packages(file.path("geiger_1.3-1.tar.gz"), repos = NULL, type = "source")请记住,安装需要传递字符串的包,加载库可以传递一个不带引号的名称(或字符串)。

在此处回复您的评论,以便我可以进行格式化

所以你写了install.packages(C:\Rfiles("geiger_1.3-1.tar.gz"), repos = NULL, type = "source")。请记住,install.packages的第一个参数必须是字符向量。您传递的内容是C:\Rfiles("geiger_1.3-1.tar.gz"),但实际上并非如此。查看help(file.path)help(install.packages)以查看有关如何指定文件路径的一些示例。在这种特殊情况下,您应该尝试:

g.path <- file.path("C:", "Rfiles", "geiger_1.3-1.tar.gz")
install.packages(g.path, repos = NULL, type = "source")

这是(尽我所知)你的包的绝对路径,不用担心反斜杠/转发问题。

答案 1 :(得分:2)

非常感谢您的建议。我终于通过使用另一个包解决了它:“repmis”。这个包包含一个名为“InstallOldPackages”的命令,它就是这样做的。您可以指定所需的包名称和版本号。

答案 2 :(得分:0)

在Windows上,您通常需要将反斜杠\切换为forwardslashes /,否则您将出错。我怀疑:

install.packages("C:/geiger_1.3-1.tar.gz", repos = NULL, type = "source")

会为你效劳。这可能是最简单的方法。