[R] Looped t.test results according to a subset variable
jim holtman
jholtman at gmail.com
Tue Oct 23 01:52:06 CEST 2007
It represents the subset of the data frame partitioned by 'x$quiz'.
On 10/22/07, Matthew Dubins <matt.dubins at utoronto.ca> wrote:
> Yes!! That did it!
>
> Does .sub represent the different levels of the x$quiz indice?
>
>
>
> jim holtman wrote:
> 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
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 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.
>
>
>
--
Jim Holtman
Cincinnati, OH
+1 513 646 9390
What is the problem you are trying to solve?
More information about the R-help
mailing list