# [R] Looped t.test results according to a subset variable

jim holtman jholtman at gmail.com
Tue Oct 23 01:41:50 CEST 2007

```Is this what you were expecting?

> by(x, x\$quiz, function(.sub) t.test(percent ~ group, data=.sub))
x\$quiz: 1

Welch Two Sample t-test

data:  percent by group
t = 6.3228, df = 6.231, p-value = 0.0006306
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
30.27235 67.94193
sample estimates:
mean in group High  mean in group Low
92.85714           43.75000

------------------------------------------------------------
x\$quiz: 2

Welch Two Sample t-test

data:  percent by group
t = 1.591, df = 5.875, p-value = 0.1638
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-14.03856  65.46713
sample estimates:
mean in group High  mean in group Low
65.71429           40.00000

------------------------------------------------------------
x\$quiz: 3

Welch Two Sample t-test

data:  percent by group
t = -0.1541, df = 3.506, p-value = 0.886
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-66.87207  60.20541
sample estimates:
mean in group High  mean in group Low
71.66667           75.00000

>

On 10/22/07, Matthew Dubins <matt.dubins at utoronto.ca> wrote:
> Hi,
>
> Following please find *some* of my data.
>
> percent         quiz    group
> 100     1       High
> 100     1       High
> 100     1       High
> 25      1       Low
> 50      1       Low
> 75      1       High
> 50      1       Low
> 75      1       High
> 100     1       High
> 100     1       High
>
> 50      1       Low
> 60      2       High
> 20      2       High
> 100     2       High
> 60      2       Low
> 40      2       Low
> 80      2       High
> 20      2       Low
> 60      2       High
> 40      2       High
> 100     2       High
>
> 90      3       High
> 100     3       High
> 0       3       High
> 90      3       Low
> 80      3       High
> 60      3       Low
> 100     3       High
> 60      3       High
>
>
> Here is the by command i used:
>
> by(percent, quiz, function(percent) {t.test(percent~group,
> data=marks.long)})
>
> Basically it gave me three of the same t.tests based on the full data
> set, not the subsets (quiz 1, 2 and 3).
>
> So far it seems like my method is more straightforward!
>
>
>
> Julian Burgos wrote:
> > Could you post some of your data and your initial test, and explain
> > why it didn't worked?  It is difficult to figure out what is the
> > problem with your call to by().
> >
> > Julian
> >
> > Matthew Dubins wrote:
> >> I've tried to use by(), but the closest i got to it doing what I
> >> wanted was using the following:
> >>
> >> by(percent, quiz, function(percent) {t.test(percent~group,
> >> data=marks.long)})
> >>
> >> But the results it gave me weren't t.tests of percent by group
> >> according to quiz number.
> >>
> >>
> >> Julian Burgos wrote:
> >>> See by()
> >>>
> >>> Matthew Dubins wrote:
> >>>> Hi all,
> >>>>
> >>>> I wrote a simple function that gives me multiple t.test results
> >>>> according to a subset variable and am wondering whether or not I
> >>>> reinvented the wheel.  Observe:
> >>>>
> >>>> t.test.sub <- function (formula, data, sub, ...)
> >>>>     {
> >>>>         for(i in 1:max(sub))
> >>>>             {
> >>>>                 print(t.test(formula, data = subset(data, sub ==
> >>>> i), ...))
> >>>>             }
> >>>>     }
> >>>>
> >>>> Is there already a similar function in some package?
> >>>>
> >>>> Thanks,
> >>>> Matthew Dubins
> >>>>
> >>>> ______________________________________________
> >>>> R-help at r-project.org mailing list
> >>>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>>> http://www.R-project.org/posting-guide.html
> >>>> and provide commented, minimal, self-contained, reproducible code.
> >>>
> >>
> >
>
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> and provide commented, minimal, self-contained, reproducible code.
>

--
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

```