我的源文件非常大,我想避免将其复制到其他文件夹中。我决定为大文件创建一个符号链接,并希望使用read.csv
来读取文件。
文件夹结构
- project1 / data / source-file.csv
- project2 / data / alias-to-source-file.csv
读取源文件非常有效,但是当我尝试读取符号链接时,我收到以下错误:line 1 appears to contain embedded nulls
。
我知道我可以复制文件并将其放入我的第二个项目文件夹中,但我想知道是否有办法使用符号链接。如果没有,我想知道避免在许多项目中复制数据文件的好方法。
提前致谢。
答案 0 :(得分:2)
符号链接在我的系统上正确使用时可以正常工作。
> 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
错误的符号链接可能会产生错误,但我无法复制您的错误:
符号链接到不存在的文件:
> 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
链接到现有目录文件夹:
> 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