Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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
在R中设置相对输出目录_R - Fatal编程技术网

在R中设置相对输出目录

在R中设置相对输出目录,r,R,我有一个R脚本,它从多个xlsx文件中读取数据,将它们转换为数据帧,然后根据数据帧的行值在我的计算机上的目录中创建文件夹。我在代码开头设置了主目录,如下所示: choose.dir(getwd(),“选择合适的文件夹”) 以及创建文件夹的输出目录,如下所示: pth您可以使用相对路径说明符来实现这一点。例如: getwd() [1] "C:/Users/Uwe/Documents/Rdevel/coverage" setwd("../stackoverflow/") # .. means g

我有一个R脚本,它从多个xlsx文件中读取数据,将它们转换为数据帧,然后根据数据帧的行值在我的计算机上的目录中创建文件夹。我在代码开头设置了主目录,如下所示:

choose.dir(getwd(),“选择合适的文件夹”)

以及创建文件夹的输出目录,如下所示:


pth您可以使用相对路径说明符来实现这一点。例如:

getwd()
[1] "C:/Users/Uwe/Documents/Rdevel/coverage"
setwd("../stackoverflow/")   # .. means go up one directory level
getwd()
[1] "C:/Users/Uwe/Documents/Rdevel/stackoverflow"
setwd("../..")   # go up two levels
getwd()
[1] "C:/Users/Uwe/Documents"
这也适用于unix

顺便说一句:
表示实际目录。所以

getwd()
[1] "C:/Users/Uwe/Documents"
setwd("./Rdevel/")   # . denotes actual directory
getwd()
[1] "C:/Users/Uwe/Documents/Rdevel"
相当于

getwd()
[1] "C:/Users/Uwe/Documents"
setwd("Rdevel")
getwd()
[1] "C:/Users/Uwe/Documents/Rdevel"

您可以使用home目录(存储为环境变量home,可由R通过
Sys.getenv(“home”)
访问),并通过
pth Denise设置相对于该home路径的路径,谢谢,但是
Sys.getenv(“home”)
返回“C:/Users/Dev/Documents”,我没有显示任何输出。此外,在其他计算机中,输出可能需要显示在不同的目录中,而不一定显示在
~/Desktop/test/
中。我是否可以使用更通用的语句,以便每次有人运行它时,他们都可以选择输出数据的位置?我不确定您到底在开发什么,但您可以将脚本编写为函数,将本地目录的路径作为函数输入,并通过
MyFunction在每台机器上调用该函数(“path/to/local/directory/”
。如果这不合适,可以设置不同的环境变量
local\u directory
(或者以您想要的方式调用它)并以与脚本内的主目录相同的方式访问它。缺点是,在能够运行Coder之前,必须在每台计算机上设置此环境变量。很好,但每当我在不同的计算机上运行它时,我都必须编辑代码并更改
setwd()
手动,对吗?我用它来选择主目录:
choose.dir(getwd(),“选择合适的文件夹”)
。我想对我的输出路径做同样的操作,这样会弹出一个对话窗口,我可以选择显示结果的位置。我使用了
pth,您应该编辑Q并在那里添加附加信息。在
pth
chr“C:\\Users\\Dev\\Desktop\\test”之后
getwd()
[1] "C:/Users/Uwe/Documents"
setwd("Rdevel")
getwd()
[1] "C:/Users/Uwe/Documents/Rdevel"