更改函数内的工作目录

时间:2016-10-13 17:09:17

标签: r function working-directory

我想将目录名称作为函数的形式参数传递。在函数内部,我想将我的工作目录更改为正式参数中提到的目录。 该目录当前位于我的工作目录中。

注意:

specdata是我当前wd

中的目录

代码:

 x <-function(directory)
 {
 y<-file.path(getwd(),directory)
 setwd(y)
 }

 x(specdata)

这似乎不起作用,我不想输入"specdata"作为函数参数。它应该not be in double quotes

1 个答案:

答案 0 :(得分:0)

我不知道你为什么要避免使用双引号,因为你没有解释上下文。但如果这确实是您所需要的,那么您可以使用非标准评估来实现这一目标。

x <-function(directory) { 
  directory <- as.character(substitute(directory))
  y <-file.path(getwd(),directory) 
  setwd(y) 
  }

as.character(substitute())的使用正是如此,例如,函数library()允许其中一个引用或不引用(在库函数中执行此操作的实际行是package <- as.character(substitute(package)) 。)