Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Q:R中文件夹结构安排的更好实践_R - Fatal编程技术网

Q:R中文件夹结构安排的更好实践

Q:R中文件夹结构安排的更好实践,r,R,为了整齐地排列文件结构,我倾向于将所有R脚本放在R子文件夹下,将图像放在img下。但这也会导致一个明显的问题,我必须记住我是在R下工作的,而不是在当前的工作目录下工作的。使用shiny时,问题变得很明显 下面是一个玩具示例结构 WD +--R +--IMG 在编写代码时,一切都很好,因为我正在工作目录下编辑/测试。但实际运行时,工作目录将位于app.R所在的位置,因此图像路径将从IMG/0001.jpg更改为../IMG/000.jpg。我经常花几个小时来弄明白为什么我的单行代码工作得很好

为了整齐地排列文件结构,我倾向于将所有R脚本放在R子文件夹下,将图像放在img下。但这也会导致一个明显的问题,我必须记住我是在R下工作的,而不是在当前的工作目录下工作的。使用shiny时,问题变得很明显

下面是一个玩具示例结构

WD
 +--R
 +--IMG
在编写代码时,一切都很好,因为我正在工作目录下编辑/测试。但实际运行时,工作目录将位于app.R所在的位置,因此图像路径将从IMG/0001.jpg更改为../IMG/000.jpg。我经常花几个小时来弄明白为什么我的单行代码工作得很好,但整个脚本并没有像预期的那样工作,而且总是不会弹出这样的文件

想知道除了addabs路径方式之外,还有没有另一种简单的方式可以像在同一个目录中一样编码,但不会丢失整洁的结构

谢谢您的建议。

可能是某种智能路径函数,它会获取路径参数,并根据是否在闪亮模式下运行进行更改

smartPath <- function(path) {
  if(isNamespaceLoaded("shiny")&&(shiny::isRunning())) {
    # TODO change path to the one in shiny mode
    path <- path 
  } else {
    # TODO change path in normal mode
    path <- path
  }
  path
}

非常感谢!它可以扩展到许多其他应用程序。伟大的