我在R:
中写了这部分代码1)您的程序应该从数据库中下载GeoData 创建一个热图。
source("http://www.bioconductor.org/biocLite.R")
biocLite("GEOquery")
library(Biobase)
library(GEOquery)
gds<-getGEO('GDS4057',destdir='.')
eset<-GDS2eSet(gds,do.log2=TRUE)
myData<-exprs(eset)
heatmap(myData[1:20,])
2)之后,如果我们的样本是ER +,它会识别表型特征 (ERpos)或ER-(ERneg)并仅保留这些样本。在这一点上 您必须使用所选样本创建热图。
genoData <- gds@dataTable@columns$`genotype/variation`
View(genoData)
reduced<-myData[, genoData%in%c("ER (IHC): +","ER (IHC): -")]
heatmap(reduced[1:20, ])
3)在这些样本中,将实现您的离散化算法
reduced[is.na(reduced)] <- 0
reduced2 <- reduced
for(i in 1:nrow(reduced)){
myMean <- mean(reduced[i,])
for(j in 1:ncol(reduced)){
if (reduced[i,j] < myMean)
reduced2[i,j] = 0
else
reduced2[i,j] = 1
}
}
4)为每个基因创建极性分数(详情如下)。
for(i in 1:nrow(reduced2)){
for(j in 1:ncol(reduced2)){
if(reduced2[i,j]==1 && something to search if this gene is plus(+) ->("ER (IHC): +"))
print("hello")
}
}
!POLARITY SCORE
r =((a /(a + c)) - (b /(b + d)))/((a /(a + c))+(b /(b + d)))
我的问题是,在上一次if
我想检查我的reduced2
单元格[i][j]
是否为1以及此单元格中的表型是否为&#39; +&# 39; ....