将 read.csv 与符号链接文件一起使用

sha*_*rly 5 symlink r read.csv

我正在尝试做什么

我的源文件非常大,我想避免将其复制到其他文件夹中。我决定创建一个指向大文件的符号链接并希望用于read.csv读取该文件。

文件夹结构

  • 项目1/数据/源文件.csv
  • 项目2/数据/别名到源文件.csv

什么地方出了错

读取源文件工作正常,但是当我尝试读取符号链接时,出现以下错误:line 1 appears to contain embedded nulls

我知道我可以复制该文件并将其放入我的第二个项目的文件夹中,但我想知道是否有办法使用符号链接。如果没有,我想知道一种避免在多个项目中重复数据文件的好方法。

Spa*_*man 4

当在我的系统上正确制作时,符号链接可以工作。

> read.csv("foo.csv")
  X1 X2 X3
1  3  4  5
2  5  6  7
> system("ln -s foo.csv bar.csv")
> read.csv("bar.csv")
  X1 X2 X3
1  3  4  5
2  5  6  7
Run Code Online (Sandbox Code Playgroud)

错误的符号链接可能会产生错误,但我无法复制您的错误:

指向不存在文件的符号链接:

> system("ln -s nonsuch.csv baz.csv")
> read.csv("baz.csv")
Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") : cannot open file 'baz.csv': No such file or directory
Run Code Online (Sandbox Code Playgroud)

链接到现有目录文件夹:

> system("ln -s / qux.csv")
> read.csv("qux.csv")
Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  no lines available in input
Run Code Online (Sandbox Code Playgroud)