我下载了GSE60341_series_matrix.txt.gz here,当我将其读入 R 表时,
x <-read.table("GSE60341_series_matrix.txt", fill = TRUE)
我获取了行中的所有信息。换句话说,我得到一个大小的矩阵 (42977行,3列),而样本数应为1951。 理想情况下,我应该得到一个1951行的表格(代表每个样本的一些k列)。
打开文本文件让我,
sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens" "Homo sapiens"
!Sample_title "20120811_NC18_NC18_01" "20120811_NC18_NC18_02" "20120811_NC18_NC18_03" "20120811_NC18_NC18_04" "20120811_NC18_NC18_05"
!Sample_characteristics_ch1 "stimulation: Unstim" "stimulation: Activated" "stimulation: IFNb" "stimulation: Unstim" "stimulation: Activated" "stimulation: IFNb" "stimulation: Unstim" "stimulation: Activated" "stimulation: IFNb" "stimulation: Unstim" "stimulation: Activated" "stimulation: IFNb" "stimulation: Unstim" "stimulation: Activated" "stimulation: IFNb" "stimulation: Unstim" "stimulation: Activated" "stimulation: IFNb" "stimulation: Unstim" "stimulation: Activated"
"lane: 9" "lane: 11" "lane: 12" "lane: 1" "lane: 2" "lane: 3" "lane: 4" "lane: 5" "lane: 6" "lane: 7" "lane: 8" "lane: 9" "lane: 10" "lane: 11" "lane: 12" "lane: 1" "lane: 2" "lane: 3"
类别(lane
,stimulation
,Sample_title
)中的信息被连接为行,但我希望它们位于列中。我可以有一个表格,其中行代表样本和列代表,例如[Sample_title, stimulation]
?
答案 0 :(得分:8)
read.table
用于读取通用ASCII表格式,此文件采用NCBI Gene Expression Omnibus(GEO)使用的特殊格式。
以下是您需要做的事情:
通过将此代码粘贴到R:
,安装GEOQuery包以读取GEO文件source("http://bioconductor.org/biocLite.R")
biocLite("GEOquery")
使用以下行将包加载到内存中:
library("GEOquery")
编辑以下行,将工作目录中的完整路径放到引号内的文件中,将数据作为对象gse
读入内存:
gse=getGEO(filename="~/Downloads/GSE60341_series_matrix.txt.gz")
现在,如果你运行View(gse)
,你会看到一个格式很好的表格,其中包含1950行gse。
查看GEOquery Documentation了解更多信息。