我一直在爲今天的大多數工作,並無法在任何地方在網上找到答案。fligner.test在多列R上
我有一組數據有兩個因子變量和30個因變量。我想用fligner測試來確定每個因變量是否滿足等方差假設,基於我的兩個因子變量之間的相互作用。
我可以一次爲一個變量做到這一點,得到的p值:
fligner=fligner.test(variable~interaction(factor1,factor2),data=mydata)
fligner$p.value`
但我不能在同一時間的所有變量做到這一點。我嘗試過lapply(這是我用來獲取我所有shapiro.test數據的東西)。這是我的代碼:
#Do the regressions and get residuals for all variables
variables <- as.matrix(mydata[,x:y])
allfits<-lm(variables~Drug*Pollutant,data=mydata)
allresiduals<-residuals(allfits)
#Shapiro test on all of it
residuals<-as.data.frame(allresiduals)
lshap <- lapply(residuals, shapiro.test)
lres <- sapply(lshap, `[`, c("p.value"))
lres
請幫忙!這讓我瘋狂。
我嘗試這樣做,這是行不通的:
fligners<-fligner.test(variables~interaction(Pollutant,Drug),data=mydata)
我得到這個錯誤:錯誤fligner.test.default(C(1.06,0.98,0.94,0.95,1.08,0.95,0.76, : 「x」和「G」必須具有相同的長度
非常感謝你,這段代碼完美工作。 – Jini