[R] t-test within tapply
Gustaf Rydevik
gustaf.rydevik at gmail.com
Fri Aug 31 11:01:43 CEST 2007
On 8/30/07, Sonia Mehault <mehault at iim.csic.es> wrote:
> Hello,
>
>
>
> My data are as following:
>
>
>
> Data <- data.frame(Ind=rep(1:3,c(10,10,10)),
>
> Replicate=rep(c(rep("a",5),rep("b",5)),3),
>
> EggSize=rep(rnorm(5,mean=10),6)
>
> )
>
> attach(Data)
>
>
>
>
>
> Using a t-test, I want to check if the mean egg sizes are significantly
> different between replicates a and b for each individuals (ie. In that case,
> 3 outputs with 3 p-values).
>
> I tried the following, but doesn't work:
>
>
>
>
>
> Fun <- function(x,y) {
>
> print(t.test(x ~ y))
>
> }
>
>
>
> tapply(EggSize,Ind,Fun(EggSize,Replicate))
>
>
>
>
>
> What should I do?
>
> Many thanks.
Is this what you want?
-----
eggdata<- data.frame(Ind=rep(1:3,c(10,10,10)),
Replicate=rep(c(rep("a",5),rep("b",5)),3),
EggSize=rnorm(30,mean=10)+rep(c(rep(1,5),rep(0,5)),3)
)
eggfun<-function(x){
print(t.test(x$EggSize~x$Replicate))
}
by(eggdata,eggdata$Ind,eggfun)
-------------
/Gustaf
--
Gustaf Rydevik, M.Sci.
tel: +46(0)703 051 451
address:Essingetorget 40,112 66 Stockholm, SE
skype:gustaf_rydevik
More information about the R-help
mailing list