Hi, first of all, your Scores are factors instead of numeric, you need to change it;
I made a new myDat for test purpose by myDat = as.data.frame(rbind(myDat, myDat)) myDat[16:30, 3] <- "gene2" > myDat tissue Scores Grp a A 3.01494535196933 gene1 b A 2.99647624484379 gene1 c A 3.00527533284709 gene1 d A 3.02321059636917 gene1 e A 3.04694197334289 gene1 f B 11.1464974692841 gene1 g B 12.2372838904939 gene1 h B 11.7277801841221 gene1 i B 11.6405683605147 gene1 j B 11.1631961720026 gene1 k C 0.67528704974662 gene1 l C 1.21000950157251 gene1 m C 0.843722400594721 gene1 n C 0.881706314004343 gene1 o C 1.43670211710054 gene1 a1 A 3.01494535196933 gene2 b1 A 2.99647624484379 gene2 c1 A 3.00527533284709 gene2 d1 A 3.02321059636917 gene2 e1 A 3.04694197334289 gene2 f1 B 11.1464974692841 gene2 g1 B 12.2372838904939 gene2 h1 B 11.7277801841221 gene2 i1 B 11.6405683605147 gene2 j1 B 11.1631961720026 gene2 k1 C 0.67528704974662 gene2 l1 C 1.21000950157251 gene2 m1 C 0.843722400594721 gene2 n1 C 0.881706314004343 gene2 o1 C 1.43670211710054 gene2 > mytry <- by(myDat, INDICES=as.factor(myDat[,3]), FUN=function(x) { + pairwise.wilcox.test(as.numeric(as.character(x$Scores)), + + x$tissue, + + p.adjust.method = "none")$p.value + }) > mytry as.factor(myDat[, 3]): gene1 A B B 0.007936508 NA C 0.007936508 0.007936508 ------------------------------------------------------------ as.factor(myDat[, 3]): gene2 A B B 0.007936508 NA C 0.007936508 0.007936508 HTH, Weiwei On 7/17/07, Hai Lin <[EMAIL PROTECTED]> wrote: > Dear R users, > > I have a dataset generated as follows, > > myDat <- data.frame(matrix(c(rep(LETTERS[1:3], > each=5), > rnorm(5,mean=3,sd=0.03), > rnorm(5,12,1), > rnorm(5,1,0.5)), > ncol=2, > > dimnames=list(c(letters[1:15]), > > c("tissue","Scores")))) > myDat$Grp <-c("gene1") > > There is one level "gene1" in $Grp in my data step. > I'd like to do pairwise.wilcox.test on $tissue while > going throug $Grp if there are more levels with gene2, > gene3. > > I tried to loop through $Grp using apply with an error > message "Error in sort(unique.default(x), na.last = > TRUE) : > 'x' must be atomic". > > mytry <- apply(as.matrix(myDat), > 1, > > function(Grp)pairwise.wilcox.test(Grp$Scores, > > Grp$tissue, > > p.adjust.method = "none")$p.value) > > I could not find any similar stuffs in forum. Could > anyone here give a hand? > > Thanks a bunch. > > kevin > > ______________________________________________ > R-help@stat.math.ethz.ch 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. > -- Weiwei Shi, Ph.D Research Scientist GeneGO, Inc. "Did you always know?" "No, I did not. But I believed..." ---Matrix III ______________________________________________ R-help@stat.math.ethz.ch 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.