我想将目录名称作为函数的形式参数传递。在函数内部,我想将我的工作目录更改为正式参数中提到的目录。 该目录当前位于我的工作目录中。
注意:
specdata
是我当前wd
代码:
x <-function(directory)
{
y<-file.path(getwd(),directory)
setwd(y)
}
x(specdata)
这似乎不起作用,我不想输入"specdata"
作为函数参数。它应该not be in double quotes
。
答案 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))
。)