Search
Question: error when trying to apply the specific gene filter.
0
11 months ago by
alerodriguez0 wrote:

I am working with microarray data  dim()=54675    80 grouped by status

table(gcrma.ExpressionSet$TG.binary) =group1=52 and group2=28 My data is in log2 #---------------------specific.filter------------------------ f2 <- ttest(gcrma.ExpressionSet$TG.binary, p=0.1)
wh2 <- genefilter(exprs(gcrma.ExpressionSet), filterfun(f2))
sum(wh2)

#---------------------specific.filter.error------------------------

Error in t.test.default(x = c(2.22237858766258, 2.22237858766258, 2.22237858766258,  : data are essentially constant

Thanks!

modified 10 months ago • written 11 months ago by alerodriguez0
1
11 months ago by
United States
James W. MacDonald46k wrote:

Using information about the experiment to filter your data is a horrible idea! The idea behind filtering is to reduce the multiple comparisons by excluding genes that are probably not being expressed, and are just contributing noise and not signal. You can do that by excluding genes with an average expression below some level, or by removing genes that have fewer than M out of N samples greater than some cutoff. But selecting genes based on whether or not they have a large t-statistic and then testing for differential expression using a t-statistic will artificially bias your results towards the alternative. You should be using a filtering method that is agnostic to the groups you are filtering on.

Thank you for your comment,something like this?

f1 <- kOverA(0.50, 3.5)

ffun <- filterfun(f1)

flrGene <- genefilter(geneExpr, ffun)

geneExpr<- geneExpr[flrGene, ]​

0
10 months ago by
alerodriguez0 wrote:

f1 <- kOverA(0.50, 3.5)

ffun <- filterfun(f1)

flrGene <- genefilter(geneExpr, ffun)

geneExpr<- geneExpr[flrGene, ]​

something like this?

You don't need to post the same thing twice, and you certainly don't need to use the 'Add your answer' box to post a comment. And yes, that is one way you can filter.