我刚开始学习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函数创建文件夹的目的是什么?
答案 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"
周围加上双引号即可。