file.create语法

时间:2017-07-05 18:10:26

标签: r

R的超级新手。我有点卡在file.create函数上。我已成功使用它在set工作目录中创建一个文件,当我已经创建了一个单独的文件路径并将该文件路径分配给变量时。

但是,为什么我不能使用file.create并简单地列出所需的文件路径和文件名而不使用file.path函数? file.create函数是否不具备在指定目录中自动创建文件的能力,但需要file.path函数来保护目录的路径吗?

任何澄清将不胜感激。如果这个问题相当简单,我会道歉但是我想让基础知识失败。

以下是有效的代码:

BasicDir <- "/Users/slam1924/Desktop/LearnR Tutorials"
setwd(BasicDir)
file.create("myfile.doc")
fp1 <- file.path("/Users/slam1924/Desktop/Vocal Covers", "mytext.doc")
fp1
file.create(fp1)

替代方案:

file.create(file.path("/Users/slam1924/Desktop/Vocal Covers", "mytext.doc"))

以下是失败的代码:

file.create("/Users/slam1924/Desktop/Vocal Covers", "mytext.doc")

1 个答案:

答案 0 :(得分:1)

首先阅读该功能的帮助。 help(file.create)。用法为file.create(..., showWarnings = TRUE)

在详细信息下,您会看到

  

file.create创建具有给定名称的文件(如果尚未创建)   存在并截断它们。

所以当你尝试

file.create("/Users/slam1924/Desktop/Vocal Covers", "mytext.doc")

它正在尝试创建两个文件,其中一个(“/ Users / slam1924 / Desktop / Vocal Covers”)可能已经是一个目录。

如果文件或目录已存在,您将看到如下错误:

[1] FALSE
Warning message:
In file.create("data") :
  cannot create file 'data', reason 'Permission denied'

你可以通过发送一个字符串函数来解决这个问题。更改失败的代码:

file.create("/Users/slam1924/Desktop/Vocal Covers/mytext.doc")