Dear John,
Perhaps is possible to do the job using apply or any of its friends. For
now, here is a solution using for() :

# Data sets
set.seed(123)
sample1<-matrix(data=c(1:20),byrow=TRUE,ncol=5,nrow=4)
sample2<-sample1+rnorm(20)

# t-test p-values
k=nrow(sample1)
res=NULL
for(i in 1:k) res[i]=t.test(sample1[i,],sample2[i,])$p.value
res

Another approach could be pag 5 in [1].

HTH,

Jorge

[1]
http://www.amstat-online.org/sections/graphics/newsletter/Volumes/v181.pdf


On Thu, Oct 16, 2008 at 12:07 PM, John Sorkin
<[EMAIL PROTECTED]>wrote:

> Although I am grateful to Jorge and David for their suggestions, their
> solution will not solve my problem as sample2 is not fixed. Let me
> demonstrate what I want to do:
>
>
> # Define two matricies
> sample1<-matrix(data=c(1:20),byrow=TRUE,ncol=5,nrow=4)
> sample2<-sample1+rnorm(20)
>
> These are the computations that I would like to perform using apply (or
> some similar method):
>
>
> # Compute t-test comparing first row of sample 1 to first row of sample 2
> t.test(sample1[1,],sample2[1,])
>
> # Compute t-test comparing second row of sample 1 to second row of sample 2
> t.test(sample1[2,],sample2[2,])
>
> # Compute t-test comparing third row of sample 1 to third row of sample 2
> t.test(sample1[3,],sample2[3,])
>
> # Compute t-test comparing fourth row of sample 1 to fourth row of sample 2
> t.test(sample1[4,],sample2[4,])
>
>
>
> As you can see, the code below does not return the same values! It does not
> work.
> apply(sample1,1,function(x) t.test(x,sample1)$p.value)
>
> Sugestions would be appreciated!
> John
>
>
>
>
>
>
>
>
> John David Sorkin M.D., Ph.D.
> Chief, Biostatistics and Informatics
> University of Maryland School of Medicine Division of Gerontology
> Baltimore VA Medical Center
> 10 North Greene Street
> GRECC (BT/18/GR)
> Baltimore, MD 21201-1524
> (Phone) 410-605-7119
> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
>
> >>> "Jorge Ivan Velez" <[EMAIL PROTECTED]> 10/16/2008 10:04 AM >>>
> Thanks for the correction David!  You're absolutely right!  A typo  :- )
>  ...
> Cheers,
>
> Jorge
>
>
> On Thu, Oct 16, 2008 at 10:00 AM, David Winsemius <[EMAIL PROTECTED]
> >wrote:
>
> >
> > On Oct 16, 2008, at 8:11 AM, Jorge Ivan Velez wrote:
> >
> >  Dear John,
> >> Yes. Assuming that 'sample2' is fixed, something like this should do
> what
> >> you want:
> >>
> >> # Data sets
> >> set.seed(123)
> >> sample1=matrix(rnorm(100),ncol=10)
> >> sample2=rnorm(10,5,4)
> >>
> >> # t-test p-values
> >> apply(X,1,function(x) t.test(x,sample2)$p.value)
> >>
> >
> > It seems clear that you meant to type:
> > apply(sample1,1,function(x) t.test(x,sample2)$p.value)
> >
> >
> >
> >> [1] 0.002348970 0.004733230 0.004810952 0.004907549 0.002342979
> >> 0.018748229
> >> 0.003546655 0.006084410
> >> [9] 0.003100983 0.007007980
> >>
> >>
> >> HTH,
> >>
> >> Jorge
> >>
> >>
> >> On Thu, Oct 16, 2008 at 8:01 AM, John Sorkin <
> [EMAIL PROTECTED]
> >> >wrote:
> >>
> >>  R 2.7.2
> >>> Windows XP
> >>>
> >>> I am using apply to compute a series of Student's t-test from two
> >>> matrices,
> >>> sample1 and sample2.
> >>> boo<-apply(sample1,1,t.test,sample2)
> >>>
> >>> I want to pick of the p-values from the tests, but can't seem to get it
> >>> to
> >>> work. I have tried several methods to get the values including:
> >>> boo<-apply(sample1,1,t.test$t.test,sample2)
> >>> boo<-apply(sample1,1,t.test,sample2)$t.test
> >>>
> >>> any suggestions?
> >>>
> >>> Thanks
> >>> John
> >>>
> >>> John Sorkin M.D., Ph.D.
> >>> Chief, Biostatistics and Informatics
> >>> Baltimore VA Medical Center GRECC,
> >>> University of Maryland School of Medicine Claude D. Pepper OAIC,
> >>> University of Maryland Clinical Nutrition Research Unit, and
> >>> Baltimore VA Center Stroke of Excellence
> >>>
> >>> University of Maryland School of Medicine
> >>> Division of Gerontology
> >>> Baltimore VA Medical Center
> >>> 10 North Greene Street
> >>> GRECC (BT/18/GR)
> >>> Baltimore, MD 21201-1524
> >>>
> >>> (Phone) 410-605-7119
> >>> (Fax) 410-605-7913 (Please call phone number above prior to faxing)
> >>> [EMAIL PROTECTED]
> >>> Confidentiality Statement:
> >>> This email message, including any attachments, is for ...{{dropped:13}}
> >>>
> >>
> >> ______________________________________________
> >> R-help@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.
> >>
> >
> >
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@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.
>
> Confidentiality Statement:
> This email message, including any attachments, is for ...{{dropped:10}}

______________________________________________
R-help@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.

Reply via email to