我有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