angelo.arcadi at virgilio.it
2015-Jul-06 14:04 UTC
[R] Sphericity for a repeated measure ANOVA with whithin and between subjects design, using R
Dear List Members, I need to perform a four-way ANOVA with repeated measures and to calculate the sphericity for eventual correction of the degree of freedom of the F ratio. I have three within subjects factors (Emotion, having 5 levels, Material, having 4 levels, Shoes, having 2 levels) and a between subject factor (Musician, having 2 levels). Without considering the sphericity I use the following formula aov_SPL = aov(SPL ~ Emotion*Material*Shoes*Musician + Error(Subject/(Emotion*Material*Shoes)), data=scrd) Unfortunately after having read lot of material online I did not arrive to a solution about how to calculate for my case the epsilon of the Greenhouse-Geisser method for degree of freedom adjustment. I load my data in R with this formula: scrd<- read.csv(file='/path to data/data.csv',sep=',',header=T) and this is the structure of the imported table:> head(scrd)Subject Material Shoes Emotion H2H H2H_factor SPL_factor SPL_variation SPL Musician Weight Height 1 Subject1 Gravel dress_shoes AGGRESSIVE 468 0.736 11.591 21.283 97.383 no 90 183 2 Subject1 Gravel dress_shoes HAPPY 719 1.129 3.188 10.071 86.171 no 90 183 3 Subject1 Gravel dress_shoes TENDER 1129 1.774 5.114 14.176 90.276 no 90 183 4 Subject1 Gravel dress_shoes SAD 1010 1.587 13.102 22.347 98.447 no 90 183 5 Subject1 Gravel dress_shoes NEUTRAL 736 1.156 3.161 9.995 86.095 no 90 183 6 Subject10 Gravel dress_shoes AGGRESSIVE 635 0.998 15.849 24.000 100.100 yes 70 178>I noticed that in the car package there is the Anova() function that comes with the Maulchy's sphericity test, but it does not take as an input a model generated with aov(). I need to use lm() instead, but since I am not really proficient in R I do not know how to use the lm() starting from the loaded data and how to use Anova(). In addition, being a mixed design involving within and between subjects factors I wonder if Anova() is the most appropriate function to use for my case. Is there anyone who could provide me with the R code to calculate the Maulchy's test and the epsilon of Greenhouse-Geisser for my case? Thank you in advance Best Angelo [[alternative HTML version deleted]]
John Fox
2015-Jul-06 16:17 UTC
[R] Sphericity for a repeated measure ANOVA with whithin and between subjects design, using R
Dear Angelo,
One way to do this is with the Anova() function in the car package; see the
following article in the R Journal:
@Article{RJournal:2013-1:fox-friendly-weisberg,
author = {John Fox and Michael Friendly and Sanford Weisberg},
title = {Hypothesis Tests for Multivariate Linear Models Using the
{car} Package},
journal = {The R Journal},
year = 2013,
volume = 5,
number = 1,
pages = {39--53},
month = jun,
url
{http://journal.r-project.org/archive/2013-1/RJournal_2013-1_fox-friendly-we
isberg.pdf}
I hope this helps,
John
-----------------------------------------------
John Fox, Professor
McMaster University
Hamilton, Ontario, Canada
http://socserv.socsci.mcmaster.ca/jfox/
> -----Original Message-----
> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of
> angelo.arcadi at virgilio.it
> Sent: July-06-15 10:05 AM
> To: r-help at r-project.org
> Subject: [R] Sphericity for a repeated measure ANOVA with whithin and
> between subjects design, using R
>
> Dear List Members,
>
>
>
> I need to perform a four-way ANOVA with repeated measures and to
> calculate the sphericity for eventual correction of the degree of
> freedom of the F ratio.
> I have three within subjects factors (Emotion, having 5 levels,
> Material, having 4 levels, Shoes, having 2 levels) and a between subject
> factor (Musician, having 2 levels). Without considering the sphericity
> I
> use the following formula
>
> aov_SPL = aov(SPL ~ Emotion*Material*Shoes*Musician +
> Error(Subject/(Emotion*Material*Shoes)), data=scrd)
>
>
>
> Unfortunately after having read lot of material online I did not
> arrive to a solution about how to calculate for my case the epsilon of
> the Greenhouse-Geisser method for degree of freedom adjustment.
>
>
> I load my data in R with this formula:
>
> scrd<- read.csv(file='/path to
data/data.csv',sep=',',header=T)
>
>
>
> and this is the structure of the imported table:
>
> > head(scrd)
> Subject Material Shoes Emotion H2H H2H_factor SPL_factor
> SPL_variation SPL Musician Weight Height
> 1 Subject1 Gravel dress_shoes AGGRESSIVE 468 0.736 11.591
> 21.283 97.383 no 90 183
> 2 Subject1 Gravel dress_shoes HAPPY 719 1.129 3.188
> 10.071 86.171 no 90 183
> 3 Subject1 Gravel dress_shoes TENDER 1129 1.774 5.114
> 14.176 90.276 no 90 183
> 4 Subject1 Gravel dress_shoes SAD 1010 1.587 13.102
> 22.347 98.447 no 90 183
> 5 Subject1 Gravel dress_shoes NEUTRAL 736 1.156 3.161
> 9.995 86.095 no 90 183
> 6 Subject10 Gravel dress_shoes AGGRESSIVE 635 0.998 15.849
> 24.000 100.100 yes 70 178
> >
>
>
>
> I noticed that in the car package there is the Anova() function that
> comes with the Maulchy's sphericity test, but it does not take as an
> input a model generated with aov(). I need to use lm() instead, but
> since
> I am not really proficient in R I do not know how to use the lm()
> starting from the loaded data and how to use Anova(). In addition, being
> a mixed design involving within and between subjects factors I wonder
> if Anova() is the most appropriate function to use for my case.
>
>
> Is there anyone who could provide me with the R code to calculate the
> Maulchy's test and the epsilon of Greenhouse-Geisser for my case?
>
>
> Thank you in advance
> Best
>
> Angelo
>
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
peter dalgaard
2015-Jul-07 08:12 UTC
[R] Sphericity for a repeated measure ANOVA with whithin and between subjects design, using R
Another method goes via anova.mlm(), which is pretty straight forward once you
figure out how to set up the necessary within-subject projections (contrasts).
See
@Article{Rnews:Dalgaard:2007,
author = {Peter Dalgaard},
title = {New Functions for Multivariate Analysis},
journal = {R News},
year = 2007,
volume = 7,
number = 2,
pages = {2--7},
}
and ?anova.mlm.
-pd
> On 06 Jul 2015, at 18:17 , John Fox <jfox at mcmaster.ca> wrote:
>
> Dear Angelo,
>
> One way to do this is with the Anova() function in the car package; see the
> following article in the R Journal:
>
> @Article{RJournal:2013-1:fox-friendly-weisberg,
> author = {John Fox and Michael Friendly and Sanford Weisberg},
> title = {Hypothesis Tests for Multivariate Linear Models Using the
> {car} Package},
> journal = {The R Journal},
> year = 2013,
> volume = 5,
> number = 1,
> pages = {39--53},
> month = jun,
> url >
{http://journal.r-project.org/archive/2013-1/RJournal_2013-1_fox-friendly-we
> isberg.pdf}
>
> I hope this helps,
> John
>
>
> -----------------------------------------------
> John Fox, Professor
> McMaster University
> Hamilton, Ontario, Canada
> http://socserv.socsci.mcmaster.ca/jfox/
>
>
>
>> -----Original Message-----
>> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of
>> angelo.arcadi at virgilio.it
>> Sent: July-06-15 10:05 AM
>> To: r-help at r-project.org
>> Subject: [R] Sphericity for a repeated measure ANOVA with whithin and
>> between subjects design, using R
>>
>> Dear List Members,
>>
>>
>>
>> I need to perform a four-way ANOVA with repeated measures and to
>> calculate the sphericity for eventual correction of the degree of
>> freedom of the F ratio.
>> I have three within subjects factors (Emotion, having 5 levels,
>> Material, having 4 levels, Shoes, having 2 levels) and a between
subject
>> factor (Musician, having 2 levels). Without considering the sphericity
>> I
>> use the following formula
>>
>> aov_SPL = aov(SPL ~ Emotion*Material*Shoes*Musician +
>> Error(Subject/(Emotion*Material*Shoes)), data=scrd)
>>
>>
>>
>> Unfortunately after having read lot of material online I did not
>> arrive to a solution about how to calculate for my case the epsilon of
>> the Greenhouse-Geisser method for degree of freedom adjustment.
>>
>>
>> I load my data in R with this formula:
>>
>> scrd<- read.csv(file='/path to
data/data.csv',sep=',',header=T)
>>
>>
>>
>> and this is the structure of the imported table:
>>
>>> head(scrd)
>> Subject Material Shoes Emotion H2H H2H_factor SPL_factor
>> SPL_variation SPL Musician Weight Height
>> 1 Subject1 Gravel dress_shoes AGGRESSIVE 468 0.736 11.591
>> 21.283 97.383 no 90 183
>> 2 Subject1 Gravel dress_shoes HAPPY 719 1.129 3.188
>> 10.071 86.171 no 90 183
>> 3 Subject1 Gravel dress_shoes TENDER 1129 1.774 5.114
>> 14.176 90.276 no 90 183
>> 4 Subject1 Gravel dress_shoes SAD 1010 1.587 13.102
>> 22.347 98.447 no 90 183
>> 5 Subject1 Gravel dress_shoes NEUTRAL 736 1.156 3.161
>> 9.995 86.095 no 90 183
>> 6 Subject10 Gravel dress_shoes AGGRESSIVE 635 0.998 15.849
>> 24.000 100.100 yes 70 178
>>>
>>
>>
>>
>> I noticed that in the car package there is the Anova() function that
>> comes with the Maulchy's sphericity test, but it does not take as
an
>> input a model generated with aov(). I need to use lm() instead, but
>> since
>> I am not really proficient in R I do not know how to use the lm()
>> starting from the loaded data and how to use Anova(). In addition,
being
>> a mixed design involving within and between subjects factors I wonder
>> if Anova() is the most appropriate function to use for my case.
>>
>>
>> Is there anyone who could provide me with the R code to calculate the
>> Maulchy's test and the epsilon of Greenhouse-Geisser for my case?
>>
>>
>> Thank you in advance
>> Best
>>
>> Angelo
>>
>>
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com