Hello everyone, I have a data frame (tt), see below (I only show 2 genes, actually I have a lot): group gene1 gene2 Control 28.9776 9.9355 Control 28.9499 10.0997 Control 29.5468 14.2995 Control 29.5246 13.9561 Test1 29.1864 9.7718 Test1 29.2048 10.0388 Test1 34.9563 11.9509 Test1 34.9464 11.8909 Test2 36.9566 14.5316 Test2 37.1309 14.5188 Test2 36.1017 29.5468 Test2 36.0883 29.5246 I'd like to calculate p values: Test1 vs Control and Test2 vs Control respectively for Gene1. Similar calculate performed for Gene2. I tried: sapply(levels(fac), function(x) t.test(tt1$gene1, tt$gene1[which(fac==x)])$p.value) # I don't really understand how it works, I copied from genefilter. where: fac=as.factor(tt$group) It seemed to work for first column. I don't know how to use apply() to make it work on rest of column because I used tt$gene1 specifically. Or whatever method that works Thank you in advance. Junyu [[alternative HTML version deleted]]
On Apr 14, 2012, at 11:40 AM, Junyu Lee wrote:> Hello everyone, > > I have a data frame (tt), see below (I only show 2 genes, actually I > have a > lot):Shouldn't you be working with a statistician to get advice about how to handle the multiple comparison issues you are most certainly facing? -- David.> > group gene1 gene2 Control 28.9776 9.9355 > Control 28.9499 10.0997 Control 29.5468 14.2995 Control 29.5246 > 13.9561 > Test1 29.1864 9.7718 Test1 29.2048 10.0388 Test1 34.9563 11.9509 > Test1 > 34.9464 11.8909 Test2 36.9566 14.5316 Test2 37.1309 14.5188 Test2 > 36.1017 > 29.5468 Test2 36.0883 29.5246 > I'd like to calculate p values: Test1 vs Control and Test2 vs Control > respectively for Gene1. Similar calculate performed for Gene2. > > I tried: > > sapply(levels(fac), function(x) t.test(tt1$gene1, > tt$gene1[which(fac==x)])$p.value) # I don't really understand how it > works, I copied from genefilter. > > where: fac=as.factor(tt$group) > > It seemed to work for first column. I don't know how to use apply() > to > make it work on rest of column because I used tt$gene1 specifically. > Or > whatever method that works > > Thank you in advance. > > Junyu > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.David Winsemius, MD West Hartford, CT
Hello everyone, I posted a question this morning, when I got replies, I realized that the data I posted was messy. So I am going to re-post it. Here is my data frame: group gene1 gene2 Control 28.9776 9.9355 Control 28.9499 10.0997 Control 29.5468 14.2995 Control 29.5246 13.9561 Test1 29.1864 9.7718 Test1 29.2048 10.0388 Test1 34.9563 11.9509 Test1 34.9464 11.8909 Test2 36.9566 14.5316 Test2 37.1309 14.5188 Test2 36.1017 29.5468 Test2 36.0883 29.5246 I need to calculated t.test: for gene1: test1 vs control (29.1864, 29.2048, 34.9563, 34.9464) vs (28.9776, 28.9499, 29.5468, 29.5246) and test2 vs control (36.9566, 37.1309, 36.1017, 36.0883) vs (28.9776, 28.9499, 29.5468, 29.5246) . Then I'd like to perform the same on gene 2. I'm sorry for the mess and thank you all in advance. Junyu [[alternative HTML version deleted]]