คุณถูกต้องเกี่ยวกับการจัดระเบียบข้อมูล หากคุณมีกรณีที่เป็นระเบียบเช่นนี้:
ID M1 M2 M3 EVENT
คุณอาจต้องการจัดระเบียบข้อมูลใหม่เพื่อให้มีลักษณะดังนี้:
ID TIME EVENT
1 1 0
1 2 1
1 3 1
2 1 0
2 2 0
. . .
. . .
ฉันเรียกสิ่งนี้ว่าการแปลงจากรูปแบบกว้างเป็นรูปแบบยาว มันทำได้อย่างง่ายดายใน R โดยใช้reshape()
ฟังก์ชั่นหรือง่ายยิ่งขึ้นกับreshape2
แพคเกจ
โดยส่วนตัวแล้วฉันจะเก็บID
ฟิลด์ไว้เพื่อใช้ในการระบุแหล่งที่มาของความแปรปรวนในโมเดลเอฟเฟกต์ผสม แต่สิ่งนี้ไม่จำเป็น (ตามที่ระบุโดย @BerndWeiss) สมมติว่าคุณต้องการทำสิ่งต่อไปนี้ ถ้าไม่พอดีกับรุ่นที่คล้ายกันglm(...,family=binomial)
โดยไม่มีเงื่อนไขเอฟเฟกต์แบบสุ่ม
lme4
แพคเกจใน R จะพอดีกับผลผสมแบบการถดถอยโลจิสติกคล้ายกับคนที่คุณกำลังพูดถึงยกเว้นที่มีผลกระทบแบบสุ่มหรือสองไปยังบัญชีสำหรับความแปรปรวนในสัมประสิทธิ์ทั่ววิชา ( ID
) df
ต่อไปนี้จะเป็นรหัสตัวอย่างสำหรับรูปแบบที่เหมาะสมเช่นถ้าข้อมูลของคุณจะถูกเก็บไว้ในกรอบข้อมูลที่เรียกว่า
require(lme4)
ans <- glmer(EVENT ~ TIME + (1+TIME|ID), data=df, family=binomial)
รุ่นเฉพาะนี้ช่วยให้TIME
และintercept
ค่าสัมประสิทธิ์จะแตกต่างกันแบบสุ่มใน ID กล่าวอีกนัยหนึ่งนี่คือรูปแบบผสมเชิงเส้นเชิงลำดับชั้นของการวัดที่ซ้อนกันในบุคคล
รูปแบบทางเลือกของรูปแบบประวัติเหตุการณ์TIME
ไม่ต่อเนื่องแบ่งออกเป็นหุ่นที่ไม่ต่อเนื่องและเหมาะกับแต่ละคนเป็นพารามิเตอร์ นี่เป็นกรณีที่ไม่ต่อเนื่องของโมเดล Cox PHเนื่องจากเส้นโค้งความเป็นอันตรายไม่ได้ จำกัด อยู่ที่แบบเชิงเส้น (หรือกำลังสองหรือคุณสามารถจินตนาการถึงการเปลี่ยนเวลา) แม้ว่าคุณอาจต้องการจัดกลุ่มTIME
เป็นชุดที่จัดการได้ (เช่นขนาดเล็ก) ของช่วงเวลาที่ไม่ต่อเนื่องหากมีจำนวนมาก
ทางเลือกเพิ่มเติมเกี่ยวข้องกับการเปลี่ยนเวลาเพื่อให้เส้นโค้งความเป็นอันตรายของคุณถูกต้อง วิธีการก่อนหน้านี้ช่วยให้คุณไม่ต้องทำแบบนี้ แต่วิธีการก่อนหน้านี้มีความสำคัญน้อยกว่า (และกรณีเชิงเส้นดั้งเดิมที่ฉันโพสต์) เพราะคุณอาจมีเวลามากและทำให้พารามิเตอร์รำคาญมาก
การอ้างอิงที่ดีเยี่ยมในหัวข้อนี้คือจูดิ ธ นักร้องและจอห์นวิลเล็ทของการประยุกต์ใช้การวิเคราะห์ข้อมูลระยะยาว: การสร้างแบบจำลองการเปลี่ยนแปลงและเหตุการณ์เกิดขึ้น
self-study
แท็ก)