有没有办法以编程方式找到R脚本本身内部的路径?
我之所以这样问,是因为我有几个使用RGtk2
并从.glade文件加载图形用户界面的脚本。
在这些脚本中,我必须在开头放置一条setwd("path/to/the/script")
指令,否则将找不到.glade文件(位于同一目录中)。
这很好,但如果我将脚本移动到不同的目录或另一台计算机上,我必须更改路径。我知道,这不是什么大事,但如果能有这样的东西就好了:
setwd(getScriptPath())
那么,是否存在类似的函数呢?
发布于 2010-08-13 10:01:56
使用source("yourfile.R", chdir = T)
发布于 2015-05-18 23:00:27
这对我来说很有效:
getSrcDirectory(function(x) {x})
这将在脚本中定义一个匿名函数(不执行任何操作),然后确定该函数的源目录,即脚本所在的目录。
发布于 2010-08-11 02:32:56
如果您将代码包装在包中,则始终可以查询包目录的某些部分。
下面是RGtk2包中的一个示例:
> system.file("ui", "demo.ui", package="RGtk2")
[1] "C:/opt/R/library/RGtk2/ui/demo.ui"
>
您可以对源代码中的目录inst/glade/
执行相同的操作,该目录将成为已安装软件包中的glade/
目录-- system.file()
将在安装时为您计算路径,而与操作系统无关。
https://stackoverflow.com/questions/3452086
复制相似问题