โครงสร้างของข้อมูลและการเรียกใช้ฟังก์ชันสำหรับข้อมูลเหตุการณ์ที่เกิดซ้ำพร้อมตัวแปรขึ้นอยู่กับเวลา


9

ฉันกำลังพยายามประเมินผลของยา 2 ชนิด ( drug1, drug2) ต่อโอกาสที่ผู้ป่วยจะตกลงมา ( event) ผู้ป่วยสามารถล้มได้มากกว่าหนึ่งครั้งและสามารถวางหรือถอดออกจากยาเสพติดได้ทุกจุด

คำถามของฉันคือวิธีการจัดโครงสร้างข้อมูลโดยคำนึงถึงช่วงเวลา (วัน) โดยเฉพาะอย่างยิ่งว่าต้องมีการทับซ้อนกันระหว่างวันหรือไม่ Nมีสองเหตุผลที่ว่าทำไมผมคิดว่าโครงสร้างของฉันคือผิดเป็นครั้งแรกเป็นที่ไม่ถูกต้องดูเหมือน นอกจากนี้ผมยังได้รับข้อผิดพลาดบางช่วงเวลาที่เป็นวันเดียว (เช่นtime1=4, time2=4) และนไม่แน่ใจว่าวิธีการเหล่านี้ควรได้รับการเข้ารหัส เวลาเริ่มต้นของรายการถัดไปควรเป็นเวลาหยุดของรายการก่อนหน้าหรือไม่ ฉันได้ลองทั้งสองวิธี (โดยมีและไม่มีทับซ้อนกัน) และในขณะที่การทับซ้อนกันได้รับการกำจัดคำเตือนNก็ยังไม่ถูกต้อง

Warning message:
In Surv(time = c(0, 2, 7, 15, 20, 0, 18, 27, 32, 35, 39, 46, 53,  :
  Stop time must be > start time, NA created

ตอนนี้ฉันมีการตั้งค่าข้อมูลที่จุดเริ่มต้นของรายการถัดไปคือวันถัดไป chart numbersผู้ป่วยที่ไม่ซ้ำกันมีการระบุโดยพวกเขา

Time1    Time2    Drug1    Drug2   Event    ChartNo
    0        2        1        0       0        123
    3       10        1        1       1        123
   11       14        1        1       1        123
    0       11        0        1       0        345
    0       19        1        0       1        678
    0        4        0        1       0        900
    5       18        1        1       0        900

ผู้ป่วย 123 อยู่ในยา 1 เมื่อเริ่มต้นวันที่ 2 หลังจากนั้นพวกเขาก็เพิ่มยา 2 พวกเขาไปจากวันที่ 3 ถึงวันที่ 10 บนยาทั้งสองก่อนที่จะตกลงมาครั้งแรกจากนั้นก็ลดลงเป็นครั้งที่สองในวันที่ 14 ในขณะที่ยังคงอยู่ในยาทั้ง ผู้ป่วย 345 ไป 11 วันในยา 2 โดยไม่ล้ม (ก็ถูกเซ็นเซอร์) และอื่น ๆ

การประมาณการที่แท้จริงมีลักษณะดังนี้:

S <- Srv(time=time1, time2=time2, event=event)
cox.rms <- cph(S ~ Drug1 + Drug2 + cluster(ChartNo), surv=T)

ความกังวลหลักnของฉันคือการรายงานของฉันสำหรับการวิเคราะห์ของฉัน2017(จำนวนแถวในข้อมูล) เมื่อในความเป็นจริงฉันมี314ผู้ป่วยที่ไม่ซ้ำกันเท่านั้น ฉันไม่แน่ใจว่านี่เป็นเรื่องปกติหรือเป็นผลมาจากข้อผิดพลาดบางอย่างที่ฉันทำระหว่างทาง

> cox.rms$n
Status
No Event    Event 
    1884      133 

เช่นเดียวกับเมื่อใช้coxph()จากแพ็คเกจการเอาตัวรอด

 n= 2017, number of events= 133

จำนวนเหตุการณ์ถูกต้องอย่างไรก็ตาม

โพสต์นี้ดูเหมือนว่าจะมีมันติดตั้งกับ 'ทับซ้อน' ฉันอธิบาย แต่ผมไม่แน่ใจเกี่ยวกับและพวกเขาดูเหมือนจะไม่ได้รับการจัดกลุ่มโดย NID


+cluster(ChartNo)ระยะควรดูแลความกังวลสังเกตซ้ำแล้วซ้ำอีก แนวทางอื่นจะเพิ่ม+ (1|subject)การวิเคราะห์ coxme :: coxme
DWIN

คำตอบ:


1

การจัดรูปแบบข้อมูลของคุณถูกต้อง

คุณมีหลายระเบียนต่อผู้ป่วยเนื่องจากเหตุการณ์ที่เกิดขึ้นซ้ำและความซับซ้อนที่เพิ่มขึ้นของยาเสพติดเป็นเวลาที่แปรปรวนร่วม covariate ผลลัพธ์ที่คุณพิมพ์โดยใช้headมีประโยชน์สำหรับการทำความเข้าใจข้อมูลเหล่านี้

วิธีการทั่วไปในการวิเคราะห์เหตุการณ์ที่เกิดซ้ำเช่นเดียวกับเวลาแปรปรวนร่วมคือการจัดรูปแบบข้อมูลที่จะอยู่ในรูปแบบ "ยาว" ซึ่งแต่ละแถวแสดงช่วงเวลาของการสังเกตความเสี่ยงโควาเรีย ตัวอย่างเช่นเราเห็นผู้ป่วย 123 อยู่บน Drug1 เพียงอย่างเดียวจากเวลา 0 ถึง 2 จากนั้นเปลี่ยนทั้งยา 1 และยา 2 จากเวลา 3 ณ จุดนั้นพวกเขาไม่เคยประสบกับการตกดังนั้นการสังเกตจาก 0-2 ถูกตรวจสอบ ณ จุดนั้นเพราะเราไม่รู้ว่าการตกของพวกเขาจะมาอีกนานแค่ไหนหากพวกเขายังคงใช้ยา 1 เพียงอย่างเดียว เมื่อถึงเวลา 3 พวกเขาจะถูกป้อนกลับเข้าไปในกลุ่มผู้ป่วยที่ใช้ยาทั้งสองเป็นเวลา 7 หน่วยหลังจากที่พวกเขาประสบกับการตกครั้งแรก พวกเขาประสบกับการล่มสลายครั้งที่สองของการรวมตัวยาเดียวกันเพียง 4 ครั้งต่อหน่วยหลังจากนั้น

จำนวนของบันทึกไม่ใช่ข้อมูลสรุปที่มีประโยชน์ของข้อมูลหมู่ ไม่น่าแปลกใจที่จำนวนแถวนั้นใหญ่กว่าจำนวนผู้ป่วยมาก แต่ให้สรุปเวลาตั้งแต่เริ่มต้นจนถึงหยุดและบันทึกเป็นจำนวนเวลาที่มีความเสี่ยง ตัวบ่งชี้หมู่จะมีประโยชน์สำหรับการทำความเข้าใจเกี่ยวกับอุบัติการณ์ มันยังมีประโยชน์ในการสรุปจำนวนที่แท้จริงของผู้ป่วย แต่โปรดจำไว้ว่าข้อมูลอยู่ในรูปแบบ "ยาว" เพื่อที่จะน้อยกว่าจำนวนแถวในชุดข้อมูลของคุณ

สำหรับข้อผิดพลาดฉันคิดว่าคุณอาจต้องเพิ่ม 1 หน่วยในวันที่ "หยุด" หากผู้ป่วย 123 ใช้ยา 1 สำหรับวันที่ 0, 1 และ 2 แล้วเริ่มใช้ยา 2 ในวันที่ 3 จากนั้นพวกเขามีประสบการณ์ 3 วันที่มีความเสี่ยงต่อการตกหลุมยา 1 อย่างไรก็ตาม 2-0 = 2 และนั่นไม่ถูกต้อง ตัวหาร

สิ่งที่อาร์กิวเมนต์ "คลัสเตอร์" ทำ (โดยทั่วไป) กำหนดความอ่อนแอซึ่งเป็นประเภทของการสกัดกั้นแบบสุ่มที่อธิบายถึงความแตกต่างของความเสี่ยงตามสัดส่วนที่อาจเกิดขึ้นจากปัจจัยเสี่ยงต่างๆ ฉันมักจะไม่ทำการวิเคราะห์ด้วยความอ่อนแอ คุณสามารถละเว้นคำสั่ง "cluster" และตีความผลลัพธ์เป็นอัตราส่วนอุบัติการณ์ คุณสามารถเลือกโมเดล cox ในช่วงเวลาหนึ่งจนกว่าผู้ป่วยทุกรายจะตกลงไปในครั้งแรกและตีความอัตราส่วนความเป็นอันตรายเป็นอัตราส่วนความเสี่ยง ฉันคิดว่าผลลัพธ์ที่อ่อนแอควรอยู่ระหว่างสองสิ่งนี้และฉันไม่เคยชัดเจนว่าการตีความควรเป็นเช่นไร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.