Francesca Pancotto wrote on 09/28/2011 10:23:17 AM:>
> Dear Contributors
> I have a problem with the collection of data from the results of a test.
> I need to perform a comparative test over groups of data , recall the
value> of the pvalue and create a table.
> My problem is in the way to replicate the analysis over and over again
over> subsets of data according to a condition.
> I have this database, called y:
> gg t1 t2 d
> 40 1 1 2
> 50 2 2 1
> 45 1 3 1
> 49 2 1 1
> 5 2 1 3
> 40 1 1 2
>
> where gg takes values from 1 to 100, t1 and t2 have values in (1,2,3)
and d> in (0,1,2,3)
> I want to perform tests on the values of gg according to the conditions
that>
> d==0 , compare values of gg when t1==1 with values of gg when t1==3
> d==1 , compare values of gg when t1==1 with values of gg when t1==3
> d==2 , compare values of gg when t1==1 with values of gg when t1==3
> ..
> then
> d==0 , compare values of gg when t2==1 with values of gg when t2==3
> d==1...
>
>
> then collect the data of a statistics and create a table.
> The procedure i followed is to create sub datasets called m0,m1,m2,m3
> corresponding
> to the values of d, i.e.
>
> m0<- y[y$d==0,c(7,17,18,19)]
> m1<- y[y$d==1,c(7,17,18,19)]
> m2<- y[y$d==2,c(7,17,18,19)]
> m3<- y[y$d==3,c(7,17,18,19)]
>
> then perform the test as follows:
>
> x1<-wilcox.test(m0[m0$t1==1,1],m0[m0$t1==3,1],correct=FALSE,
exact=FALSE,> conf.int=TRUE,alternative = c("g")) #ABC ID
> x2<- wilcox.test(m1[m1$t1==1,1],m1[m1$t1==3,1],correct=FALSE,
exact=FALSE,> conf.int=TRUE,alternative = c("g"))
> x3<- wilcox.test(m2[m2$t1==1,1],m2[m2$t1==3,1],correct=FALSE,
exact=FALSE,> conf.int=TRUE,alternative = c("g"))
> x4<- wilcox.test(m3[m3$t1==1,1],m3[m3$t1==3,1],correct=FALSE,
exact=FALSE,> conf.int=TRUE,alternative = c("g"))
>
> each of these tests will create an object, say x and then I extract the
> value statistics using
> x$statistics.
>
> How to automatize this?
> Thank you for any help you can provide.
> Francesca
y <- data.frame(gg=sample(100), t1=sample(1:3, 100, TRUE),
t2=sample(1:3, 100, TRUE), d=sample(0:3, 100, TRUE))
yd <- split(y, y$d)
sapply(yd, function(df)
wilcox.test(df[df$t1==1, 1], df[df$t1==3, 1], correct=FALSE,
exact=FALSE, conf.int=TRUE,
alternative="g")[c("estimate",
"p.value")])
sapply(yd, function(df)
wilcox.test(df[df$t2==1, 1], df[df$t2==3, 1], correct=FALSE,
exact=FALSE, conf.int=TRUE,
alternative="g")[c("estimate",
"p.value")])
Jean
[[alternative HTML version deleted]]