ฉันมีชุดข้อมูลการวัดซ้ำ ๆ ที่ไม่สมดุลในการวิเคราะห์และฉันได้อ่านว่าแพคเกจทางสถิติส่วนใหญ่จัดการกับ ANOVA (เช่นผลรวมสี่เหลี่ยมจัตุรัสประเภท III) ผิด ดังนั้นฉันต้องการใช้โมเดลเอฟเฟกต์แบบผสมเพื่อวิเคราะห์ข้อมูลเหล่านี้ ฉันได้อ่านเกี่ยวกับโมเดลมิกซ์R
มากมายแล้ว แต่ฉันยังใหม่กับR
โมเดลเอฟเฟกต์แบบผสมและไม่ค่อยมั่นใจว่าฉันกำลังทำสิ่งที่ถูกต้อง โปรดทราบว่าฉันยังไม่สามารถหย่าร้างกับวิธีการ "ดั้งเดิม" ทั้งหมดและยังคงต้องใช้ค่าและค่าการทดสอบหลังการทดสอบ
ฉันต้องการทราบว่าวิธีการต่อไปนี้สมเหตุสมผลหรือไม่หรือหากฉันกำลังทำสิ่งผิดปกติอย่างน่ากลัว นี่คือรหัสของฉัน:
# load packages
library(lme4)
library(languageR)
library(LMERConvenienceFunctions)
library(coda)
library(pbkrtest)
# import data
my.data <- read.csv("data.csv")
# create separate data frames for each DV & remove NAs
region.data <- na.omit(data.frame(time=my.data$time, subject=my.data$subject, dv=my.data$dv1))
# output summary of data
data.summary <- summary(region.data)
# fit model
# "time" is a factor with three levels ("t1", "t2", "t3")
region.lmer <- lmer(dv ~ time + (1|subject), data=region.data)
# check model assumptions
mcp.fnc(region.lmer)
# remove outliers (over 2.5 standard deviations)
rm.outliers <- romr.fnc(region.lmer, region.data, trim=2.5)
region.data <- rm.outliers$data
region.lmer <- update(region.lmer)
# re-check model assumptions
mcp.fnc(region.lmer)
# compare model to null model
region.lmer.null <- lmer(dv ~ 1 + (1|subject), data=region.data)
region.krtest <- KRmodcomp(region.lmer, region.lmer.null)
# output lmer summary
region.lmer.summary <- summary(region.lmer)
# run post hoc tests
t1.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)
region.lmer <- lmer(dv ~ relevel(time,ref="t2") + (1|subject), data=region.data)
t2.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)
region.lmer <- lmer(dv ~ relevel(time,ref="t3") + (1|subject), data=region.data)
t3.pvals <- pvals.fnc(region.lmer, ndigits=10, withMCMC=TRUE)
# Get mcmc mean and 50/95% HPD confidence intervals for graphs
# repeated three times and stored in a matrix (not shown here for brevity)
as.numeric(t1.pvals$fixed$MCMCmean)
as.numeric(t1.pvals$fixed$HPD95lower)
as.numeric(t1.pvals$fixed$HPD95upper)
HPDinterval(as.mcmc(t1.pvals$mcmc),prob=0.5)
HPDinterval(as.mcmc(t1.pvals$mcmc),prob=0.5)
ฉันมีคำถามเฉพาะ:
- นี่เป็นวิธีที่ถูกต้องในการวิเคราะห์แบบจำลองเอฟเฟกต์แบบผสมหรือไม่ ถ้าไม่ฉันควรทำอะไรแทน
- การวิพากษ์วิจารณ์แปลงผลลัพธ์โดย mcp.fnc ดีพอสำหรับการตรวจสอบสมมติฐานของโมเดลหรือฉันควรทำตามขั้นตอนเพิ่มเติม
- ฉันเข้าใจแล้วว่าแบบจำลองที่ผสมกันนั้นถูกต้องข้อมูลจำเป็นต้องมีสมมติฐานที่เคารพความเป็นมาตรฐานและความเป็นเนื้อเดียวกัน ฉันจะตัดสินสิ่งที่ "ปกติประมาณ" และสิ่งที่ไม่ได้โดยดูที่แปลงวิจารณ์ที่สร้างขึ้นโดย mcp.fnc? ฉันแค่ต้องรู้สึกถึงสิ่งนี้หรือเป็นวิธีที่พวกเขากำหนดในการทำสิ่งต่าง ๆ ? แบบผสมที่มีความแข็งแกร่งในแง่ของสมมติฐานเหล่านี้คืออะไร?
- ฉันจำเป็นต้องประเมินความแตกต่างระหว่างจุดสามจุดสำหรับลักษณะต่าง ๆ (biomarkers) ~ 20 รายการในตัวอย่างของฉัน เหมาะสมและทดสอบแบบจำลองแยกต่างหากสำหรับแต่ละแบบที่ยอมรับได้ตราบใดที่ฉันรายงานการทดสอบที่ดำเนินการทั้งหมด (มีนัยสำคัญหรือไม่) หรือฉันต้องการรูปแบบการแก้ไขใด ๆ สำหรับการเปรียบเทียบหลายแบบ
เพื่อให้แม่นยำยิ่งขึ้นเล็กน้อยเกี่ยวกับการทดสอบนี่คือรายละเอียดเพิ่มเติม เราติดตามผู้เข้าร่วมจำนวนมากตามยาวเมื่อพวกเขาเข้ารับการรักษา เราวัดจำนวนนักชีวภาพก่อนที่จะเริ่มการรักษาและสองครั้งหลังจากนั้น สิ่งที่ฉันต้องการดูคือถ้ามีความแตกต่างใน biomarkers ระหว่างสามครั้งคะแนน
ฉันกำลังพิจารณาสิ่งที่ฉันทำที่นี่ในบทช่วยสอนนี้แต่ได้ทำการเปลี่ยนแปลงตามความต้องการและสิ่งที่ฉันอ่าน การเปลี่ยนแปลงที่ฉันทำคือ:
- เชื่อมโยงปัจจัย "เวลา" เพื่อรับการเปรียบเทียบ t1-t2, t2-t3 และ t1-t3 ด้วย pvals.fnc (จากแพ็คเกจ languageR)
- เปรียบเทียบโมเดลผสมของฉันกับโมเดลว่างโดยใช้การทดสอบ F โดยประมาณตามวิธีของ Kenward-Roger (ใช้แพ็คเกจ pbkrtest) มากกว่าการทดสอบอัตราส่วนความน่าจะเป็น (เพราะฉันอ่านว่า Kenward-Roger's ถือว่าดีกว่าตอนนี้)
- ใช้แพ็คเกจ LMERConvenienceFunctions เพื่อตรวจสอบสมมติฐานและลบค่าผิดปกติ (เพราะฉันอ่านว่าแบบผสมมีความอ่อนไหวมากต่อค่าผิดปกติ)