Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.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中下载或保存文件时,我可以';t使R创建一个目录_R_Windows - Fatal编程技术网

在r中下载或保存文件时,我可以';t使R创建一个目录

在r中下载或保存文件时,我可以';t使R创建一个目录,r,windows,R,Windows,每当我想下载一些东西到一个文件夹,我必须先手动创建文件夹。 例如: 下载文件(“https://ndownloader.figshare.com/files/2292169", “数据2/portal\u data\u joined.csv”) 会给我一个错误吗 无法打开destfile“data2/portal\u data\u joined.csv”,原因是“没有这样的文件或目录” 我的解决方案是手动创建一个文件夹data2,然后它就可以工作了。 我的问题是:为什么R无权创建文件夹?使用

每当我想下载一些东西到一个文件夹,我必须先手动创建文件夹。 例如:

下载文件(“https://ndownloader.figshare.com/files/2292169",
“数据2/portal\u data\u joined.csv”)

会给我一个错误吗

无法打开destfile“data2/portal\u data\u joined.csv”,原因是“没有这样的文件或目录”

我的解决方案是手动创建一个文件夹data2,然后它就可以工作了。
我的问题是:为什么R无权创建文件夹?

使用
dir.create
首先创建目录:)

使用
dir.create
首先创建目录:)

正如Rich Scriven所说:

download.file不会为您创建文件。您必须先创建它,然后才能下载到它。其他一些函数创建文件,但不创建download.file

菲利佩·杰拉德说: 要从R创建目录,请使用
dir.create(“文件夹”)

如Rich Scriven所说:

download.file不会为您创建文件。您必须先创建它,然后才能下载到它。其他一些函数创建文件,但不创建download.file

菲利佩·杰拉德说:
要从R创建目录,请使用
dir。create(“folder”)

R有权,但它选择不这样做。在R生成文件时,不创建文件夹似乎是相当常见的做法:

> write.table(x,file="./foo/bar/baz.csv")
Error in file(file, ifelse(append, "a", "w")) : 
  cannot open the connection
In addition: Warning message:
In file(file, ifelse(append, "a", "w")) :
  cannot open file './foo/bar/baz.csv': No such file or directory
一个简洁的解决方案是创建一个函数,这里称为
makepath
,它在任意深度创建文件夹并返回路径:

> makepath = function(path){dir.create(dirname(path),recursive=TRUE);path}
然后你可以做:

> write.table(x,file=makepath("./foo/bar/baz.csv"))
> write.table(x,file=makepath("./foo/bar/qux/moo/baz.csv"))

同样,对于您的
download.file

R有权,但它选择不这样做。在R生成文件时,不创建文件夹似乎是相当常见的做法:

> write.table(x,file="./foo/bar/baz.csv")
Error in file(file, ifelse(append, "a", "w")) : 
  cannot open the connection
In addition: Warning message:
In file(file, ifelse(append, "a", "w")) :
  cannot open file './foo/bar/baz.csv': No such file or directory
一个简洁的解决方案是创建一个函数,这里称为
makepath
,它在任意深度创建文件夹并返回路径:

> makepath = function(path){dir.create(dirname(path),recursive=TRUE);path}
然后你可以做:

> write.table(x,file=makepath("./foo/bar/baz.csv"))
> write.table(x,file=makepath("./foo/bar/qux/moo/baz.csv"))

同样,对于您的
download.file

download.file
不会为您创建
destfile
。您必须先创建它,然后才能下载到它。其他一些函数会创建文件,但不会
download.file
download.file
不会为您创建
destfile
。您必须先创建它,然后才能下载到它。其他一些函数创建文件,但不是
download.file