我想做什么
我的源文件非常大,我想避免将其复制到其他文件夹中。我决定创建一个指向大文件的符号链接(symbolic link)并想使用 read.csv
读入文件。
文件夹结构
出了什么问题
读取源文件工作正常,但是当我尝试读取符号链接(symbolic link)时,出现以下错误:
line 1 appears to contain embedded nulls
.我知道我可以复制文件并将其放入我的第二个项目的文件夹中,但我想知道是否有使用符号链接(symbolic link)的方法。如果没有,我想知道一种避免在许多项目中复制数据文件的好方法。
最佳答案
在我的系统上正确制作时,符号链接(symbolic link)可以工作。
> 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
错误的符号链接(symbolic link)会产生错误,但我无法复制您的错误:
符号链接(symbolic link)到不存在的文件:
> 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
关于r - 使用带有符号链接(symbolic link)文件的 read.csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39128389/