row t test with biocLite(genefilter)
I'm trying to run a t test on 2 groups of samples for a list of variables. My dataset (=df) looks like this:
GeneName group1 group1 group1 group2 group2 group2
gene1
gene2
gene3
..
I want to obtain p value for t test comparing for each row (gene) the values of group1 vs group2.
I tried to use the rowttests() function of genefilter package for bioconductor as such:
df$ttest <- rowttests(df, factor(c(group1, group2)))
I'm getting the following error:
Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function 'rowttests' for signature '"data.frame", "factor"'
What am I doing wrong?
Thanks
• 6,809 views
•
link
1 answer
> showMethods(rowttests) Function: rowttests (package genefilter) x="ExpressionSet", fac="character" x="ExpressionSet", fac="factor" x="ExpressionSet", fac="missing" x="matrix", fac="factor" x="matrix", fac="missing"
So, I suspect that something like this will work:
df$ttest <- rowttests(as.matrix(df[,-1]), factor(c(0,0,0,1,1,1))
• 0 views
•
link
Log in to answer this question.
gives the following error:
So throw an
as.double()in there.Could you be more specific? (I'm beginner in R)
This is going to get messy, but the general idea is:
Or something along those lines. BTW, don't worry about the
unlist()part, it just converts yourdata.frameinto a vector (data.frames are actually a special kind of list in R).