现在我正在分析乳腺癌患者的一些数据,我有一个GEO微阵列,其中包含很多关于雌激素受体中某些基因的信息(列是基因,行是他们的id,数据是他们的表达值) 。我计算了每一行的所有p值,并使用bonferroni方法对它们进行了调整。现在我有一个列表,列出p值小于调整后的alpha值。该列表包含来自差异表达的基因的274个p值,但我不需要它们,我想从原始矩阵中获取信息(id与其表达值一致)但仅来自p值小于我调整的基因我的274 p值列表中的alpha并将它们添加到新矩阵中以创建一个群集和一个热图来显示它们。我不知道这是否足够清楚,但简单来说,我想要做的是从原始矩阵中取出274个基因并将它们添加到新的基因中。我尝试用for循环做这个,但是我在R中没那么好,所以它给了我很多问题。这是我的(糟糕的)代码。
f = c(1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0)
# all the 1's are genes(columns) resistant to tamoxifen and 0's are genes sensitive to it.
g <- factor(f)
pvals = rowttests(gEXP,g)$p.value
# gEXP is the GEO matrix, Here I do a t test for each row and take the p value from each test.
k = 0.05/length(pvals)
list = pvals < k
# K is the bonferroni adjusted alpha and the how I obtained the 274 p values in my list.
for (ttest in gEXP) {
if rowttests(gEXP,g)$p.value < k {
#I Do a t test for each row and check that it's lower than my adjusted alpha.
# Now i want to add the genes (from the gEXP matrix, not my list) thathave a p value smaller than alpha to a new matrix (no idea how to do it).
}
我希望有人可以帮助我,如果我不熟悉英语而不是我的第一语言,那就很抱歉。