Adakah yang bisa memberi tahu saya perbedaan antara menggunakan aov()
dan lme()
untuk menganalisis data longitudinal dan bagaimana menafsirkan hasil dari kedua metode ini?
Di bawah ini, saya menganalisis dataset yang sama menggunakan aov()
dan lme()
dan mendapatkan 2 hasil yang berbeda. Dengan aov()
, saya mendapat hasil yang signifikan dalam waktu dengan interaksi pengobatan, tetapi pas dengan model campuran linier, waktu dengan interaksi pengobatan tidak signifikan.
> UOP.kg.aov <- aov(UOP.kg~time*treat+Error(id), raw3.42)
> summary(UOP.kg.aov)
Error: id
Df Sum Sq Mean Sq F value Pr(>F)
treat 1 0.142 0.1421 0.0377 0.8471
Residuals 39 147.129 3.7725
Error: Within
Df Sum Sq Mean Sq F value Pr(>F)
time 1 194.087 194.087 534.3542 < 2e-16 ***
time:treat 1 2.077 2.077 5.7197 0.01792 *
Residuals 162 58.841 0.363
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> UOP.kg.lme <- lme(UOP.kg~time*treat, random=list(id=pdDiag(~time)),
na.action=na.omit, raw3.42)
> summary(UOP.kg.lme)
Linear mixed-effects model fit by REML
Data: raw3.42
AIC BIC logLik
225.7806 248.9037 -105.8903
Random effects:
Formula: ~time | id
Structure: Diagonal
(Intercept) time Residual
StdDev: 0.6817425 0.5121545 0.1780466
Fixed effects: UOP.kg ~ time + treat + time:treat
Value Std.Error DF t-value p-value
(Intercept) 0.5901420 0.1480515 162 3.986059 0.0001
time 0.8623864 0.1104533 162 7.807701 0.0000
treat -0.2144487 0.2174843 39 -0.986042 0.3302
time:treat 0.1979578 0.1622534 162 1.220053 0.2242
Correlation:
(Intr) time treat
time -0.023
treat -0.681 0.016
time:treat 0.016 -0.681 -0.023
Standardized Within-Group Residuals:
Min Q1 Med Q3 Max
-3.198315285 -0.384858426 0.002705899 0.404637305 2.049705655
Number of Observations: 205
Number of Groups: 41
sumber
Error(Subject/age)
, karena saya mencari beberapa tutorial, mengatakan itu/age
berarti ukuran berulang di sepanjang faktor itu? Apakah ini sama dengan AndaError(Subject)
? Pertanyaan lain adalah: untuk data yang tidak seimbang,aov
danlme
mungkin memiliki hasil yang berbeda, bukan?Saya hanya ingin menambahkan bahwa Anda mungkin ingin menginstal
car
paket dan menggunakanAnova()
bahwa paket ini menyediakan bukananova()
karena untukaov()
danlm()
objek, vanillaanova()
menggunakan jumlah kueri berurutan, yang memberikan hasil yang salah untuk ukuran sampel yang tidak sama sedangkan untuklme()
itu menggunakan salah satu jenis -I atau tipe-III jumlah kuadrat tergantung padatype
argumen, tetapi tipe-III jumlah kuadrat melanggar marginalitas - yaitu memperlakukan interaksi tidak berbeda dari efek utama.Daftar bantuan R tidak ada yang bisa dikatakan tentang tipe-I dan tipe-III jumlah kuadrat, namun ini adalah satu-satunya pilihan! Sosok pergi.Sunting: Sebenarnya, sepertinya tipe-II tidak valid jika ada istilah interaksi yang signifikan, dan sepertinya yang terbaik yang bisa dilakukan siapa pun adalah menggunakan tipe-III ketika ada interaksi. Saya mendapat tip dari itu dengan jawaban untuk salah satu pertanyaan saya sendiri yang pada gilirannya mengarahkan saya ke posting ini .
sumber
Menurut saya, Anda memiliki beberapa ukuran untuk setiap id pada setiap waktu. Anda perlu menggabungkan ini untuk aov karena aov secara tidak adil meningkatkan daya dalam analisis itu. Saya tidak mengatakan melakukan agregat akan membuat hasil yang sama tetapi harus membuat mereka lebih mirip.
Kemudian jalankan model aov Anda seperti sebelum mengganti data dengan dat.agg.
Juga, saya percaya anova (lme) lebih dari apa yang ingin Anda lakukan untuk membandingkan hasilnya. Arah dan besarnya efek tidak sama dengan rasio varians model terhadap kesalahan.
(BTW, jika Anda melakukan analisis lme pada data agregat, yang seharusnya tidak Anda lakukan, dan memeriksa anova (lme) Anda akan mendapatkan hasil yang hampir sama dengan aov)
sumber