【问题标题】:Using setwd() to return to default in R在 R 中使用 setwd() 返回默认值
【发布时间】:2013-11-20 21:42:37
【问题描述】:

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

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

setwd("C:/Users/me/Desktop")

...但我想我很懒惰。有没有默认命令之类的...

setwd(default)?

如果你知道这个问题的答案,谢谢。

保罗

【问题讨论】:

  • 没有“R 中的默认工作目录”之类的东西。工作目录是在启动时确定的,可能会因多种因素而异。
  • 只需在您的 .Rprofile 中创建一个变量,例如:myoriginalwd <- getwd()
  • @Thomas:这仍然会因调用 R 的方式而异,这似乎不是 OP 想要的。
  • @JoshuaUlrich 啊,我想,我认为“默认”是特定于会话的,但你可能是对的,这不是意图。

标签: r


【解决方案1】:

这是一个替代解决方案,因为 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")

或者你可以用类似的东西来掩盖base::setwd()

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

更新:默认包已存档,因此此解决方案仅在您从 CRAN 存档下载包并自己从源代码构建时才有效。

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

library(Defaults)
setDefaults(setwd, dir="C:/Users/me/Desktop")
setwd()

this answer if you want to put the above code in your .Rprofile

【讨论】:

  • 如果我尝试安装包,我会得到: install.packages 中的警告:包“默认值”不可用(对于 R 版本 3.3.3)。在 google 上查看它,我发现包“Defaults”已从 CRAN 存储库中删除。
【解决方案2】:

当你登录到 R 时,输入 getwd(),这是你的默认工作目录

【讨论】:

  • 仅适用于 R 的特定实例。在其他实例中可能不同。我认为这不是 OP 想要的。
【解决方案3】:

在终端中使用(PWD),希望你得到你想要的

【讨论】:

  • ...如果他们使用的是 Windows 怎么办?
  • windows中没有终端
  • true 但它的工作方式与 linux unbuntu 中的终端不同
  • 是的,就像 bash 和 sh 不同一样。
  • 什么?你们的 Windows 人不是都安装了 cygwin 吗? :-0
猜你喜欢
  • 1970-01-01
  • 2021-02-09
  • 1970-01-01
  • 2017-09-05
  • 2022-08-17
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
相关资源
最近更新 更多