使用setwd()返回R中的默认值

log*_*ent 3 r

有谁知道返回R中默认工作目录的简单方法?

我知道我可以输入我的家乡路径......

setwd("C:/Users/me/Desktop")
Run Code Online (Sandbox Code Playgroud)

......但我想我很懒.是否有默认命令或类似...

setwd(default)?
Run Code Online (Sandbox Code Playgroud)

如果您知道答案,谢谢.

保罗

Jos*_*ich 7

这是一个替代解决方案,因为Defaults包已经存档:

# Use `formals<-`, but note the comment in the examples of ?formals:
#
## You can overwrite the formal arguments of a function (though this is
## advanced, dangerous coding).
formals(setwd) <- alist(dir = "C:/Users/me/Desktop")
Run Code Online (Sandbox Code Playgroud)

或者您可以使用以下内容进行掩码base::setwd():

setwd <- function(dir) {
  if (missing(dir) || is.null(dir) || dir == "") {
    dir <- "C:/Users/me/Desktop"
  }
  base::setwd(dir)
}
Run Code Online (Sandbox Code Playgroud)

更新:默认包已存档,因此只有从CRAN存档下载包并自行构建源时,此解决方案才有效.

您可以使用Defaults包将其设置为您想要的.然后你可以打电话setwd().

library(Defaults)
setDefaults(setwd, dir="C:/Users/me/Desktop")
setwd()
Run Code Online (Sandbox Code Playgroud)

如果您想将上述代码放在.Rprofile中,请参阅此答案.