我正在尝试在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:\"
答案 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")
会为你效劳。这可能是最简单的方法。