"没有足够的x观察值"并且"没有足够的Y观察"作为代码的一部分执行t-test时的错误消息

时间:2016-01-11 01:48:59

标签: r bioconductor

noob在这里。我正在学习一些基本的排序算法作为生物信息学课程的一部分,而且我遇到了使用的代码问题。我们学会了如何在实验室中写这个,并且使用我们给出的数据集工作得很好,但是现在我试图将它应用到作业中(我们被允许获得家庭作业的帮助,我问TA也帮忙)数据集和我遇到了麻烦。任何想法在这里发生了什么?

source("http://bioconductor.org/biocLite.R")
biocLite("golubEsets")
a   
a
library(golubEsets) 

data(Golub_Merge)  
Golub_Merge

varLabels(Golub_Merge)
Golub_Merge.1<-Golub_Merge[,order(Golub_Merge$ALL.AML)]  
Golub_Merge.1$ALL.AML



Golub_Merge.sd<-apply(exprs(Golub_Merge.1), 1, sd)
Golub_Merge.new<-Golub_Merge.1 [Golub_Merge.sd>1, ]
Golub_Merge.new   

heatmap( cor(exprs(Golub_Merge.new)), Rowv=NA, Colv=NA, scale="none", labRow=Golub_Merge.new$ALL.AML, labCol= Golub_Merge.new$ALL.AML, RowSideColors= as.character(as.numeric(Golub_Merge.new$ALL.AML)), ColSideColors= as.character(as.numeric(Golub_Merge.new$ALL.AML)))
Golub_Merge$T.B.cell 


#classification analysis

bio<-which(Golub_Merge$ALL.AML %in% c("ALL", "AML"))  
isb<-grep("^B", as.character(Golub_Merge$T.B.cell))  
kp<-intersect(bio, isb)
Golub_Merge.2<-Golub_Merge[, kp]   
tmp<-Golub_Merge.2$ALL.AML == "ALL"
tmp<-ifelse(tmp, "ALL", "AML")
pData(Golub_Merge.2)$bcrabl<-factor(tmp) 
Golub_Merge.2$bcrabl

Golub_Merge.mean<-apply(exprs(Golub_Merge.2), 1, mean)
Golub_Merge.sd<-apply(exprs(Golub_Merge.2), 1,sd)
Golub_Merge.ML<-Golub_Merge.2[Golub_Merge.mean>=7 & Golub_Merge.sd>=0.3,]  


#training and testing set cross-validation

t.stat<-function(x, group)
{
    t.test(x[group=="ALL"], x[group=="AML"])$statistic
}
set.seed(12345)
train.index<-sample(ncol(Golub_Merge.ML), 38)
test.index<-setdiff(1:ncol(Golub_Merge.ML), train.index)
Golub_Merge.train<- Golub_Merge.ML[, train.index]
Golub_Merge.test<- Golub_Merge.ML[, test.index]
a<-apply(exprs(Golub_Merge.train), 1, t.stat,  

那就是错误出现的地方。

对不起,如果这是一个“坏”的话。题。我对这一切都很陌生。

0 个答案:

没有答案