我有LD数据,有时候是原始输出文件PLINK(注意空格 - 用于输出漂亮,注意前导和尾随空格):使用相同的命令快速读取不同类型的数据,更好的分离器猜测
write.table(read.table(text="
CHR_A BP_A SNP_A CHR_B BP_B SNP_B R2
1 154834183 rs1218582 1 154794318 rs9970364 0.0929391
1 154834183 rs1218582 1 154795033 rs56744813 0.10075
1 154834183 rs1218582 1 154797272 rs16836414 0.106455
1 154834183 rs1218582 1 154798550 rs200576863 0.0916789
1 154834183 rs1218582 1 154802379 rs11264270 0.176911 ",sep="x"),
"Type1.txt",col.names=FALSE,row.names=FALSE,quote=FALSE)
还是很好的制表符分隔的文件:
write.table(read.table(text="
CHR_A BP_A SNP_A CHR_B BP_B SNP_B R2
1 154834183 rs1218582 1 154794318 rs9970364 0.0929391
1 154834183 rs1218582 1 154795033 rs56744813 0.10075
1 154834183 rs1218582 1 154797272 rs16836414 0.106455
1 154834183 rs1218582 1 154798550 rs200576863 0.0916789
1 154834183 rs1218582 1 154802379 rs11264270 0.176911", sep=" "),
"Type2.txt",col.names=FALSE,row.names=FALSE,quote=FALSE,sep="\t")
read.csv适用于这两种类型的数据:
read.csv("Type1.txt", sep="")
read.csv("Type2.txt", sep="")
FREAD仅适用于类型2:
fread("Type1.txt")
fread("Type2.txt")
文件很大,有几百万行,因此不能使用read.csv
选项。有没有办法让fread
猜想更好?其他包装/功能建议?
我可以使用readLines
然后猜测文件的类型,或使用系统调用然后fread
整理文件,但这会增加我试图避免的开销。
编辑: SessionInfo
R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
另一个问题,我注意到'read.csv/read.table'工作的'fread'失败。你在使用Linux吗? – akrun
@akrun看编辑,我在窗户上。你是否暗示我不会在linux上遇到这个问题? – zx8754
我只是说用'awk'通过管道工作。即''fread(“awk'{$ 1 = $ 1} 1'Type1.txt”)' – akrun