扩展R函数

扩展R函数,r,function,R,Function,我想在R中简单地扩展setwd。比如说dir1包含dir2。我编写以下代码并运行它 Swd <- function(directory){ setwd("directory") } 我不明白问题出在哪里 根据我的经验,如果您在R中没有管理权限,setwd()可能会失败。如果命令如上所述无效,In也可能会失败 最好使用整个路径作为目录参数名。例如,如果当前目录为“~/Documents/R/dir1”,并且您希望更改为“~/Documents/R/dir1/dir2”,

我想在R中简单地扩展
setwd
。比如说
dir1
包含
dir2
。我编写以下代码并运行它

Swd <- function(directory){
         setwd("directory") 
}
我不明白问题出在哪里

根据我的经验,如果您在R中没有管理权限,setwd()可能会失败。如果命令如上所述无效,In也可能会失败

最好使用整个路径作为目录参数名。例如,如果当前目录为“~/Documents/R/dir1”,并且您希望更改为“~/Documents/R/dir1/dir2”,则使用setwd(“~/Documents/R/dir1/dir2”)

另一种可能是使用getwd()目录函数。那你可以用

Swd <- function(directory) {
    setwd( paste(getwd(),directory,sep="") )
}

Swd使用
setwd(目录)
代替
setwd(“目录”)
。(除非您确实希望将工作目录始终设置为名为
“directory”
!)的本地目录)您的函数与
setwd('dir2')
有什么不同?您是否知道,除非
dir2
包含命名子目录的字符串,否则即使按照Josh的建议,它也无法工作?我现在明白了。谢谢Josh和Carl。或者您可以使用
file.path
Swd <- function(directory) {
    setwd( paste(getwd(),directory,sep="") )
}