I have two matrix with same dimensions. I want to do t.test using each column
from 2 different matrix.
Row n Column names in both matrix are same.
e.g.
Matrix1
id VC1 VC2 VC3
R 1 2 3
R1 4 5 6
R3 7 8 9
Matrix2
id VC1 VC2 VC3
R 10 11 12
R1 13 14 15
R3 16 17 18
want to do t.test using each column (with same name ) using Matrix1 and Matrix2
for eg t.test(Matrix1$VC1, Matrix2$VC1)$p.value
What is the best way to do it. I have dataset with 4000 columns for each matrix
with same row and column names.
Thanks a lot.
---------------------------------
Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it now.
[[alternative HTML version deleted]]
Petr PIKAL
2007-Nov-19 08:42 UTC
[R] Odp: Reg : using two different matrix : how to do t.test
Hi r-help-bounces at r-project.org napsal dne 19.11.2007 09:32:25:> I have two matrix with same dimensions. I want to do t.test using eachcolumn> from 2 different matrix. > Row n Column names in both matrix are same. > > e.g. > Matrix1 > id VC1 VC2 VC3 > R 1 2 3 > R1 4 5 6 > R3 7 8 9 > > > Matrix2 > id VC1 VC2 VC3 > R 10 11 12 > R1 13 14 15 > R3 16 17 18 > > want to do t.test using each column (with same name ) using Matrix1 andMatrix2> > for eg t.test(Matrix1$VC1, Matrix2$VC1)$p.valueI am not sure if it is a best way but here seems to me that for cycle could be considered result<-rep(NA, 3999) for (i in 2:4000) { result [i-1] <- t.test(mat1[,i], mat2[,i])$p.value } Regards Petr> > What is the best way to do it. I have dataset with 4000 columns for each> matrix with same row and column names. > > Thanks a lot. > > --------------------------------- > Be a better sports nut! Let your teams follow you with Yahoo Mobile. Tryit now.> [[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 guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
Hi Thanks for the reply. I implemented your solution to my problem but ... For some of my column there is not enough data to do t-test so it gives me error and stops the for loop, is any graceful way to check for error msg and say ok if there is no $p.value continue to the next column Once again thx for help. sata pinal wrote:> > I have two matrix with same dimensions. I want to do t.test using each > column from 2 different matrix. > Row n Column names in both matrix are same. > > e.g. > Matrix1 > id VC1 VC2 VC3 > R 1 2 3 > R1 4 5 6 > R3 7 8 9 > > > Matrix2 > id VC1 VC2 VC3 > R 10 11 12 > R1 13 14 15 > R3 16 17 18 > > want to do t.test using each column (with same name ) using Matrix1 and > Matrix2 > > for eg t.test(Matrix1$VC1, Matrix2$VC1)$p.value > > What is the best way to do it. I have dataset with 4000 columns for each > matrix with same row and column names. > > Thanks a lot. > > --------------------------------- > Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try > it now. > [[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. > >-- View this message in context: http://www.nabble.com/Reg-%3A-%09using-two-different-matrix-%3A-how-to-do-t.test-tf4834072.html#a13845405 Sent from the R help mailing list archive at Nabble.com.
mogra wrote:> Hi Thanks for the reply. > > I implemented your solution to my problem but ... > > For some of my column there is not enough data to do t-test so it gives me > error and stops the for loop, is any graceful way to check for error msg and > say ok if there is no $p.value continue to the next columnSee ?try Uwe Ligges> Once again thx for help. > > > > sata pinal wrote: >> I have two matrix with same dimensions. I want to do t.test using each >> column from 2 different matrix. >> Row n Column names in both matrix are same. >> >> e.g. >> Matrix1 >> id VC1 VC2 VC3 >> R 1 2 3 >> R1 4 5 6 >> R3 7 8 9 >> >> >> Matrix2 >> id VC1 VC2 VC3 >> R 10 11 12 >> R1 13 14 15 >> R3 16 17 18 >> >> want to do t.test using each column (with same name ) using Matrix1 and >> Matrix2 >> >> for eg t.test(Matrix1$VC1, Matrix2$VC1)$p.value >> >> What is the best way to do it. I have dataset with 4000 columns for each >> matrix with same row and column names. >> >> Thanks a lot. >> >> --------------------------------- >> Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try >> it now. >> [[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. >> >> >
Moshe Olshansky
2007-Nov-22 03:42 UTC
[R] Reg : using two different matrix : how to do t.test
Since t.test takes much more time than parsing loop, I won't hesitate to do a loop on the columns. --- sata pinal <satapinal at yahoo.com> wrote:> I have two matrix with same dimensions. I want to do > t.test using each column from 2 different matrix. > Row n Column names in both matrix are same. > > e.g. > Matrix1 > id VC1 VC2 VC3 > R 1 2 3 > R1 4 5 6 > R3 7 8 9 > > > Matrix2 > id VC1 VC2 VC3 > R 10 11 12 > R1 13 14 15 > R3 16 17 18 > > want to do t.test using each column (with same name > ) using Matrix1 and Matrix2 > > for eg t.test(Matrix1$VC1, Matrix2$VC1)$p.value > > What is the best way to do it. I have dataset with > 4000 columns for each matrix with same row and > column names. > > Thanks a lot. > > --------------------------------- > Be a better sports nut! Let your teams follow you > with Yahoo Mobile. Try it now. > [[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. >
sapply(1:4000, function(k){
t.test(Matrix1[,k], Matrix2[,k])$p.value
})
I did not test, though.
HTH,
Weiwei
On 11/19/07, sata pinal <satapinal at yahoo.com>
wrote:> I have two matrix with same dimensions. I want to do t.test using each
column from 2 different matrix.
> Row n Column names in both matrix are same.
>
> e.g.
> Matrix1
> id VC1 VC2 VC3
> R 1 2 3
> R1 4 5 6
> R3 7 8 9
>
>
> Matrix2
> id VC1 VC2 VC3
> R 10 11 12
> R1 13 14 15
> R3 16 17 18
>
> want to do t.test using each column (with same name ) using Matrix1 and
Matrix2
>
> for eg t.test(Matrix1$VC1, Matrix2$VC1)$p.value
>
> What is the best way to do it. I have dataset with 4000 columns for each
matrix with same row and column names.
>
> Thanks a lot.
>
> ---------------------------------
> Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it
now.
> [[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.
>
--
Weiwei Shi, Ph.D
Research Scientist
GeneGO, Inc.
"Did you always know?"
"No, I did not. But I believed..."
---Matrix III
Hi r-help-bounces at r-project.org napsal dne 20.11.2007 09:36:32:> > Hi Thanks for the reply. > > I implemented your solution to my problem but ... > > For some of my column there is not enough data to do t-test so it givesme> error and stops the for loop, is any graceful way to check for error msgand> say ok if there is no $p.value continue to the next columnYou need at least 2 values for x and 2 values for y so you can just put an if clause in your for loop. Something like: for (whatever) { if(sum(!is.na(x)>1 & sum(!is.na(y)>1) do your t.test } Regards Petr> > Once again thx for help. > > > > sata pinal wrote: > > > > I have two matrix with same dimensions. I want to do t.test using each > > column from 2 different matrix. > > Row n Column names in both matrix are same. > > > > e.g. > > Matrix1 > > id VC1 VC2 VC3 > > R 1 2 3 > > R1 4 5 6 > > R3 7 8 9 > > > > > > Matrix2 > > id VC1 VC2 VC3 > > R 10 11 12 > > R1 13 14 15 > > R3 16 17 18 > > > > want to do t.test using each column (with same name ) using Matrix1and> > Matrix2 > > > > for eg t.test(Matrix1$VC1, Matrix2$VC1)$p.value > > > > What is the best way to do it. I have dataset with 4000 columns foreach> > matrix with same row and column names. > > > > Thanks a lot. > > > > --------------------------------- > > Be a better sports nut! Let your teams follow you with Yahoo Mobile.Try> > it now. > > [[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. > > > > > > -- > View this message in context:http://www.nabble.com/Reg-%3A-%09using-two-> different-matrix-%3A-how-to-do-t.test-tf4834072.html#a13845405 > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.