我有来自illumina beadchip平台的mircoarray数据集,我一直用它来检查3个治疗组之间的差异表达。在背景扣除和标准化之后,我有一个类“Elist”类型的文件 - 如下所示。
$E
A B C D E F
ILMN_1 9.678162 9.635665 9.420577 9.778417 9.521473 9.820778
ILMN_2 11.458221 11.152161 11.158666 11.410278 11.416522 11.377062
ILMN_3 9.385075 9.087426 9.230654 9.704379 9.720282 9.482488
ILMN_4 9.909423 9.115123 9.693177 10.348670 9.896625 9.729896
ILMN_5 11.826927 12.067796 12.165630 12.256113 12.061949 12.213470
$genes
SYMBOL
ILMN_1 Gene 1
ILMN_2 Gene 2
ILMN_3 Gene 3
ILMN_4 Gene 4
ILMN_5 Gene 5
我现在想要创建一个“Elist”类的对象,该对象仅包括由其基因符号选择的基因的子集,以便生成该子集的热图。 (我应该能够从那里管理热图)
例如
$E
A B C D E F
ILMN_2 11.458221 11.152161 11.158666 11.410278 11.416522 11.377062
ILMN_4 9.909423 9.115123 9.693177 10.348670 9.896625 9.729896
$genes
SYMBOL
ILMN_2 Gene 2
ILMN_4 Gene 4
我试过了
subset = Elist[Elist$genes == c("gene 2", "gene4"), ]
但这似乎只产生载体中第一个基因的子集或偶尔产生几行NA。如果我只在载体中插入一个基因就可以了。
subset = Elist[Elist$genes %in% c("gene 2", "gene4"), ]
任何帮助非常感谢。 (关于如何发布问题的任何建议也更受欢迎!)
非常感谢 - 文森特的答案非常有效 - 解决方案是
subset = Eset[ Eset$genes$SYMBOL %in% c("Gene2", "Gene4"), ]
我现在想制作基因子集的热图,首先能够将列自己排序到治疗组中,然后用基因名称而不是探针名称替换行名称。
我可以使用Colv删除群集顺序,但无法进一步
heatmap.2(Subset$E, Colv = FALSE, Rowv = FALSE)
任何帮助非常感谢。
答案 0 :(得分:0)
让我们调用此对象expr
,而不是EList
(类本身的名称):
require(limma)
expr <- new("EList"
, .Data = list(structure(list(A = c(9.678162, 11.458221, 9.385075, 9.909423, 11.826927),
B = c(9.635665, 11.152161, 9.087426, 9.115123, 12.067796),
C = c(9.420577, 11.158666, 9.230654, 9.693177, 12.16563),
D = c(9.778417, 11.410278, 9.704379, 10.34867, 12.256113),
E = c(9.521473, 11.416522, 9.720282, 9.896625, 12.061949),
F = c(9.820778, 11.377062, 9.482488, 9.729896, 12.21347)),
.Names = c("A", "B", "C", "D", "E", "F"),
class = "data.frame",
row.names = c("ILMN_1", "ILMN_2", "ILMN_3", "ILMN_4", "ILMN_5")),
structure(list(SYMBOL = c("Gene1","Gene2", "Gene3", "Gene4", "Gene5")),
.Names = "SYMBOL",
row.names = c("ILMN_1","ILMN_2", "ILMN_3", "ILMN_4", "ILMN_5"),
class = "data.frame")))
我们想在对象中选择对应于基因1和3的行。 之前的评论指出了正确的方向,以下通常应该有效:
expr[ expr$genes$SYMBOL %in% c("Gene2", "Gene4"), ]
我错过了关于热图的问题,我没有看到任何问题吗?