使用下面的數據框,我設法計算了主題反應時間的重複測量ANOVA。這是有問題的數據幀:如何計算此混合設計實驗的誤差率方差分析?
> str(a)
'data.frame': 2778 obs. of 9 variables:
$ Phase : Factor w/ 1 level "Test": 1 1 1 1 1 1 1 1 1 1 ...
$ Subject : Factor w/ 17 levels "1","2","3","5",..: 7 7 7 7 7 7 7 7 7 7 ...
$ Group : Factor w/ 2 levels "Attn","Dist": 1 1 1 1 1 1 1 1 1 1 ...
$ Global : Factor w/ 2 levels "D","S": 1 1 1 1 1 1 1 1 1 1 ...
$ Local : Factor w/ 2 levels "D","S": 1 1 1 1 1 1 1 1 1 1 ...
$ trialtype: Factor w/ 1 level "Dist": 1 1 1 1 1 1 1 1 1 1 ...
$ RT : num 477 682 720 NaN 604 720 910 707 705 758 ...
$ ACC : logi TRUE TRUE TRUE FALSE TRUE TRUE ...
,這裏是我用來計算ANOVA的反應時間代碼:
raw<-read.table('R_notarg_noattn.tdf',header=T)
head(raw)
str(raw)
raw$Subject = factor(raw$Subject)
raw$logrt = log10(raw$RT) # logorithm of RT
hist(raw$logrt)
tsttrl_nooutliers = subset(raw, logrt>2 & ACC==TRUE) # take values greater than 2 logs AND where subj responded correctly
attach(tsttrl_nooutliers) # make column names available as global variables
hist(logrt)
summary(aovrt <- aov(logrt ~ Group*Global*Local + Error(Subject/(Global*Local)), subset=Phase=='Test', data=tsttrl_nooutliers)) # ANOVA table
meanrt=10^tapply(logrt,list(Global=Global, Local=Local, Group=Group), mean) # de-log and calculate means by condition
par(mfcol=c(1,2)) # c() *combines* values into vector/list; par() sets graphical parameters... equivalent to Matlab's set() ????
barplot(meanrt[,,'Attn'],beside=T,ylim=c(700,1000),xpd=F)
barplot(meanrt[,,'Dist'],beside=T,ylim=c(700,1000),xpd=F)
detach(tsttrl_nooutliers)
我想上的錯誤重複類似的分析費率,這些費率編碼在布爾型列ACC
中。我想知道如何去做這件事,因爲這個計算需要按照每個條件計算錯誤率的中間步驟。當我說「條件」時,我的意思是說獨特的因素組合,即$ Group,$ Global,$ Local,$ trialtype(只選擇其中的$ Phase == Test,如前面的代碼片段所示)。
有人能指出我正確的方向嗎?總之,我不清楚如何獲得錯誤率,然後我應該沒有問題喂入aov
函數。
我們並不完全不同意使用正確百分比的方差分析!我將不得不與我的研究主任進一步爭論,但暫時,我只是幽默他。在任何情況下,我似乎已經解決了這個問題'meanpc = aggregate(tsttrls $ ACC,list(Subject = tsttrls $ Subject,Group = tsttrls $ Group,Local = tsttrls $ Local,Global = tsttrls $ Global),意思)'雖然我不清楚這兩種方法之間的確切區別。無論如何,我接受你的答案,我很可能會在不久的將來再次提及它。非常感謝! – blz