Hello,

I was performing analysis of microarray data according to the tutorial from Center for Research Informatics. There is a step-by-step description and codes, but I found an error and I cannot solve my problem on my own. So, I will be greatful for any help.

The codes look like:

```
setwd('~/Desktop/test')
source("http://www.bioconductor.org/biocLite.R")
biocLite("affy")
biocLite("affycoretools")
biocLite("GEOquery")
library(affy)
library(affycoretools)
library(GEOquery)
mydata<-ReadAffy()
pData(mydata)<-read.table("phenod.txt", header=T, row.names=1, sep="\t")
eset<-rma(mydata)
eset
write.exprs(eset, file="Expression_values.xls")
biocLite("limma")
library("limma")
Group<-factor(pData(mydata)[,1], levels=levels(pData(mydata)[,1]))
design<-model.matrix(~Group)
fit<-lmFit(eset,design)
fit<-eBayes(fit)
tab<-topTable(fit, coef=2, adjust="fdr", n=50)
# annotation? ------> here is the problem: After below code I get the error:
Error in rows[i] : only 0's may be mixed with negative subscripts
eset2 <- eset[tab[,1]]
```

So, what to do in such situation?

Best regards!

What's the output of

`quantile(tab[,1])`

? I don't think topTable produces a data.frame whose first column is guaranteed to be a proper row index number (especially with n=50).The output is:

But, please, look at the subsequent codes which are using the

`eset2<-eset[tab[,1]]`

command: