我是一個新的成員的stackoverflow,我開始在R工作,所以我需要一些幫助!基因型數據 - 如何導入使用R
我有一個740行和500 000列的文件,由製表符分隔,格式爲.txt。該文件的大小約爲1.2GB。該文件包含關於牛的基因型的信息。我需要將此文件讀入R程序,以利用表型數據進行關聯研究分析。我不能在R中導入這個大文件。有人知道一個命令來做到這一點?只需要導入這個文件並在R中讀取它的命令?
我的系統:i5和6Gb的RAM存儲器。
我是一個新的成員的stackoverflow,我開始在R工作,所以我需要一些幫助!基因型數據 - 如何導入使用R
我有一個740行和500 000列的文件,由製表符分隔,格式爲.txt。該文件的大小約爲1.2GB。該文件包含關於牛的基因型的信息。我需要將此文件讀入R程序,以利用表型數據進行關聯研究分析。我不能在R中導入這個大文件。有人知道一個命令來做到這一點?只需要導入這個文件並在R中讀取它的命令?
我的系統:i5和6Gb的RAM存儲器。
在R中,您可以輸入?read.csv
和?read.table
,它將爲您提供這些功能的幫助文件。
然後,您可以將此函數的輸出分配給一個變量,該變量將成爲您的數據框。
例如:
myDataFrame <- read.csv("path/to/file.txt", sep="\t")
函數read.table()是你所需要的。你的文件是否有頭文件?
在Linux(在文件中沒有頭): mydata = read.table("/home/username/genotype.txt", header=FALSE)
在Linux(在文件頭): mydata = read.table("/home/username/genotype.txt", header=TRUE)
在Windows(在文件中沒有頭): mydata = read.table("c:\\mydata\\genotype.txt", header=FALSE)
在Windows(帶有文件頭): mydata = read.table("c:\\mydata\\genotype.txt", header=TRUE)
read.table()
默認使用tab作爲分隔符,但您可以指定參數sep =「,」(或sep =「|」等)來指定不同的分隔符。
感謝您的回覆,但read.table命令可以導入大文件? –
取決於你的意思是「大」。我用它讀取了500,000-800,000行和100+列的文件,結合了數字和文本數據。也取決於你的硬件和操作系統。 –
其他答案解決了讀取R中數據的一般問題,但是您的數據是特定類型的;在CRAN和Bioconductor以及in the wild上有一些優秀的「特定領域」套餐。這些軟件包將有自己的方式輸入這些數據,可能會從您當前的表示中轉換出來,但可能會對高效處理和執行常見操作有很大好處。更好地追求這些,同時學習如何使用R的一般特徵。
這是R中的一個非常基本的功能。如果您的問題是您以前認爲其他人的問題,那麼您應該檢查R手冊/文檔和基本的谷歌搜索。閱讀http://cran.r-project.org/doc/manuals/R-intro.pdf(基本的R手冊)第七章,瞭解如何導入數據。如果您在一小時左右的工作後仍然有問題,請告訴我們這個問題。 –