R命令dir.create和file.path

时间:2018-03-05 12:44:59

标签: r path directory

我刚开始学习r并对课程中提出的以下问题感到困惑:

使用dir.create()和file.path()在一个命令中创建当前工作目录中名为“testdir2”的目录及其名为“testdir3”的子目录。

我无法接受我的回答,然后在网上找到另一个网站给出答案。这是其他网站给出的答案:

dir.create(file.path('testdir2', 'testdir3'), recursive = TRUE)

复制/粘贴此答案后,它仍然没有让我在课程中取得进展。答案有问题吗?

另外,为什么我要使用file.path来创建文件夹。这样做是否更有意义:

dir.create("testdir2/testdir3", recursive = TRUE)

使用file.path函数创建文件夹的目的是什么?

2 个答案:

答案 0 :(得分:2)

使用file.path()创建文件夹的目的是,您可以编写可供使用不同类型计算机的人员使用的功能,脚本或程序包。不同类型的计算机或平台使用不同的文件分隔符。 Unix系统使用正斜杠:/。这包括mac。 Windows系统使用反斜杠:\

尝试查看.Platform,您会看到为了创建与平台无关的代码,您可以参考许多变量。 .Machine是另一个。

无论如何,我的想法是file.path(dir1, dir2, dir3)可以创建一个有效的路径,无论R在哪种平台上运行。

至于为什么自动分级器不接受你的答案,它们可能非常挑剔,尤其是在复制和粘贴时有时可以拾取的隐藏空白字符。有时他们测试你的命令产生的输出,但有时(坏)自动分级器只测试输入,所以即使你的命令产生相同的行为,如果它不完全相同,自动分级器将不接受它。 / p>

答案 1 :(得分:0)

我得到了下面的代码:

dir.create(file.path("testdir2","testdir3"), recursive = TRUE)

我认为您只需要在"testdir2""testdir3"周围加上双引号即可。