1
$\begingroup$

I've tried different suggestions for similar questions here, but so far I haven't been able to figure this out.

I have data from 5 subjects who performed a task under six different conditions, where I have two factors, A and B, A has 2 levels and B 3. I am interested in seeing whether there is an A, B, or AxB effect. This is what my data look like:

> data
        A1B1       A1B2       A1B3       A2B1        A2B2      A2B3
       <dbl>      <dbl>      <dbl>      <dbl>       <dbl>     <dbl>
1 0.23694106 0.24721370 0.24243452 0.18634988 0.185587802 0.2272034
2 0.28706070 0.29954235 0.26044499 0.22570883 0.249875419 0.2134954
3 0.10159571 0.14058360 0.08654673 0.05068541 0.031204063 0.0278373
4 0.21372617 0.15595512 0.18168078 0.22170997 0.137082131 0.1698777
5 0.04138218 0.01654181 0.02714175 0.02570313 0.006663436 0.0648169

This is how I structured the data frame:

nsubs<-length(data$Var1)
resp<-c(data$A1B1,data$A1B2,data$A1B3,data$A2B1,data$A2B2,data$A2B3)

myData<-data.frame(subs=rep(seq(from=1, to= nsubs, by=1),6),response=resp,A=c(rep("A1", nsubs*3),rep("A2", nsubs*3)),B=c(rep("B1", nsubs),rep("B2", nsubs),rep("B3", nsubs), rep("B1", nsubs),rep("B2", nsubs),rep("B3", nsubs)))

myData<-within(myData,{subs <-factor(subs)
A<-factor(A)
B<-factor(B)})

So myData looks so:

  subs    response A B
1     1 0.236941060 A1 B1
2     2 0.287060695 A1 B1
3     3 0.101595710 A1 B1
4     4 0.213726170 A1 B1
5     5 0.041382181 A1 B1
6     1 0.247213703 A1 B2
7     2 0.299542346 A1 B2
8     3 0.140583600 A1 B2
9     4 0.155955122 A1 B2
10    5 0.016541809 A1 B2
11    1 0.242434520 A1 B3
12    2 0.260444991 A1 B3
13    3 0.086546733 A1 B3
14    4 0.181680780 A1 B3
15    5 0.027141747 A1 B3
16    1 0.186349883  A2 B1
17    2 0.225708832  A2 B1
18    3 0.050685407  A2 B1
19    4 0.221709965  A2 B1
20    5 0.025703135  A2 B1
21    1 0.185587802  A2 B2
22    2 0.249875419  A2 B2
23    3 0.031204063  A2 B2
24    4 0.137082131  A2 B2
25    5 0.006663436  A2 B2
26    1 0.227203355  A2 B3
27    2 0.213495365  A2 B3
28    3 0.027837305  A2 B3
29    4 0.169877668  A2 B3
30    5 0.064816901  A2 B3

I can then run a repeated measures 2x3 ANOVA:

response.aov<-with(myData,aov(response ~ A * B + Error(subs /(A*B))))
print(summary(response.aov))

The problem is that first I should make sure the residuals are normally distributed. I've tried

myData.res = ERP
myData.res$M1.Fit = fitted(myData.mod1)
myData.res$M1.Resid = resid(myData.mod1)
print(ggplot(myData.res, aes(sample = M1.Resid)) + stat_qq())
result <- shapiro.test(myData.res$M1.Resid)

however, fitted(myData.mod1) returns NULL. I also tried:

m <- aov(resp ~ A*B+Error(subs /(A*B)), data=myData)
m.res<-proj(m)

but m.res contains residuals for subs, subs:A, subs:B, and subs:A:B. Which are the relevant residuals? Does anyone know a better method for checking normality for this design?

$\endgroup$
4

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.