【问题标题】:Set Working Directory to CD-ROM将工作目录设置为 CD-ROM
【发布时间】:2016-08-08 15:26:00
【问题描述】:

我必须将我的 R 程序放在 CD-ROM 上。该 CD-ROM 还应包含原始数据集。要启动程序,必须设置工作目录以加载数据集。不幸的是,我不知道如何将工作目录设置为特定的 CD-ROM,以便我的主管只能运行程序而无需修改任何内容。有人有想法吗?

【问题讨论】:

  • 也许github.com/krlmlr/rprojroot 会有所帮助?
  • 完美!谢谢!!
  • @hrbrmstr 非常有指导意义的链接,据我了解,如果 1/ rprojroot 包已经安装,2/ 如果脚本和数据被组织为 R 项目,它可能会解决 OP 的问题,对吗?
  • 是的。虽然我相信它也可以处理其他类型的目录结构
  • @prznrl 您好,如果任何答案解决了您的问题,您可以点击“接受”以便其他人看到吗?谢谢

标签: r working-directory cd-rom


【解决方案1】:

您可以为此目的使用setwd 函数,或者如果您想以交互方式设置它,请尝试setwd 中的choose.dir 函数。

【讨论】:

    【解决方案2】:

    我把我的评论变成了答案:

    您想要一个只需单击 CD-ROM 上脚本上的“运行”按钮即可运行的 R 脚本。第一个想法是首先使用 CD-ROM 常用的驱动器号定义工作目录:

    setwd("E:/project/") # remember that in R the slash is inverted for the paths
    

    但是,CD-ROM 驱动器名称可能因计算机而异(D:、E:、...),并且可能无法正常工作。例如,您可以使用提示来要求用户输入这样的内容(请小心,因为无论您将其作为一个整体运行、逐行运行还是获取它,行为都会有所不同):

    CDROM <- readline(prompt = "Specify the letter of the CR-ROM drive: ")
    setwd(paste0(CDROM, ":/project/"))
    

    如果您不希望用户执行任何操作,则 R 有一种方法可以自动查找活动脚本所在的目录(请参阅此问题 here,您会发现它并不像它似乎)。它可能适用于以下行,但前提是用户 sources 脚本而不是运行它:

    setwd(dirname(sys.frame(1)$ofile))
    

    就个人而言,我只是在脚本的开头添加一个注释行,告诉单击 R-studio 菜单(大多数人都使用它):

    会话 > 设置工作目录 > 到源文件位置

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多