在R中使用setwd出现错误

14

当尝试使用SubgraphMining的示例代码时(示例在第35页),我遇到一个错误:

"Error in setwd(paste(Sys.getenv("R_HOME"), "library", "subgraphMining",  : 
  cannot change working directory"

我正在使用RStudio 0.97.551,32位R(2.15.3 - 推荐使用此版本的R与subgraphMining一起使用),使用igraph0(而不是igraph库),安装了Java。操作系统为Windows 8。 有人可以帮我解决这个问题吗?


4
"无法更改工作目录"几乎总是表示该目录不存在。您可以通过在setwd()内运行所有内容并检查解析的路径来进行调试。 - user1509107
据我所知,“R_HOME”是Linux系统的变量,而我正在使用Windows 8。我应该在Windows上创建这个系统变量吗? - Illya K
1
你可以这么做。但是,你能否发布你的R代码以确定你正在尝试做什么。我查看了第35页-上面没有任何R代码。这是我通常设置工作目录的方法。 setwd(C:\\ mydata \\ myproject \\),然后通过调用library(subgraphMining)来加载软件包。 - user1509107
以下是代码:graph1 = graph.ring(5); graph2 = graph.ring(6); database = array(dim=2); database[1] = list(graph1); database[2] = list(graph2); results = gspan(database, "80%");需要安装igraph0和Java,同时需要安装igraph0和subgraphmining库。 - Illya K
这个子图挖掘包是什么?它不在CRAN和bioC上,我也找不到其他地方。顺便说一下,igraph0包已被CRAN维护人员从CRAN中删除。 - Gabor Csardi
显示剩余2条评论
4个回答

8
错误消息来自于subgraphMininggspan函数,源代码如下:
setwd(paste(Sys.getenv("R_HOME"), "library", "subgraphMining", 
    "parsemis", sep = "\\"))

原因是R使用/作为路径分隔符,而不是\\,后者仅适用于Windows。一个解决方法是不修改函数并使用/代替\\。顺便说一下,这与igraph包无关,所以我将删除该标签。

我不明确地使用\\作为路径分隔符。在代码中,我应该在哪里使用(或在哪些文件中更改)/分隔符而不是\\\分隔符? - Illya K
不是你,而是subgraphMining包的作者。 - Gabor Csardi
1
想要补充一下,如果你试图将wd设置为不存在的路径,也会出现这个错误。 - gr1zzly be4r

6

在我的情况下,它显示了错误,因为我希望它创建一个新的文件夹,我在setwd中提到过。不幸的是,R没有这个功能,当我创建文件夹并使用setwd命令后,问题得以解决。


3
我知道这个问题发布已经快一年了。我也遇到了subgraphMining包的同样问题。一个快速的解决办法是:你可以在RStudio的命令行中输入“gspan”,它会显示该函数,复制该函数并在自己的脚本中创建自己的函数(当然要用新的名称,比如gspanNew),并通过将“\\\\”替换为“/”来修复它,就像Gabor Csardi指出的那样。
干杯! :)

0

为了让您的代码跨操作系统运行,您可以始终使用 file.path("路径","文件夹名","文件名") 而不是简单地粘贴。


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