R - การวิเคราะห์การอยู่รอด
การวิเคราะห์การอยู่รอดเกี่ยวข้องกับการคาดการณ์เวลาที่จะเกิดเหตุการณ์เฉพาะ เรียกอีกอย่างว่าการวิเคราะห์เวลาล้มเหลวหรือการวิเคราะห์เวลาสู่ความตาย ตัวอย่างเช่นการทำนายจำนวนวันที่ผู้ป่วยมะเร็งจะรอดชีวิตหรือทำนายเวลาที่ระบบกลไกจะล้มเหลว
ชื่อแพ็กเกจ R survivalใช้ในการวิเคราะห์การอยู่รอด แพคเกจนี้ประกอบด้วยฟังก์ชันSurv()ซึ่งใช้ข้อมูลอินพุตเป็นสูตร R และสร้างอ็อบเจ็กต์การอยู่รอดท่ามกลางตัวแปรที่เลือกสำหรับการวิเคราะห์ จากนั้นเราใช้ฟังก์ชันsurvfit() เพื่อสร้างพล็อตสำหรับการวิเคราะห์
ติดตั้ง Package
install.packages("survival")
ไวยากรณ์
ไวยากรณ์พื้นฐานสำหรับการสร้างการวิเคราะห์การอยู่รอดใน R คือ -
Surv(time,event)
survfit(formula)
ต่อไปนี้เป็นคำอธิบายของพารามิเตอร์ที่ใช้ -
time เป็นเวลาติดตามผลจนกว่าเหตุการณ์จะเกิดขึ้น
event แสดงสถานะของการเกิดเหตุการณ์ที่คาดไว้
formula คือความสัมพันธ์ระหว่างตัวแปรทำนาย
ตัวอย่าง
เราจะพิจารณาชุดข้อมูลที่ชื่อ "pbc" ที่มีอยู่ในแพ็คเกจการอยู่รอดที่ติดตั้งด้านบน อธิบายถึงจุดข้อมูลการรอดชีวิตเกี่ยวกับผู้ที่ได้รับผลกระทบจากโรคตับแข็งน้ำดีขั้นต้น (PBC) ของตับ ในบรรดาคอลัมน์ต่างๆที่มีอยู่ในชุดข้อมูลนั้นเราจะคำนึงถึงฟิลด์ "เวลา" และ "สถานะ" เป็นหลัก เวลาแสดงถึงจำนวนวันระหว่างการลงทะเบียนผู้ป่วยและก่อนหน้าของเหตุการณ์ระหว่างผู้ป่วยได้รับการปลูกถ่ายตับหรือผู้ป่วยเสียชีวิต
# Load the library.
library("survival")
# Print first few rows.
print(head(pbc))
เมื่อเรารันโค้ดด้านบนจะสร้างผลลัพธ์และแผนภูมิต่อไปนี้ -
id time status trt age sex ascites hepato spiders edema bili chol
1 1 400 2 1 58.76523 f 1 1 1 1.0 14.5 261
2 2 4500 0 1 56.44627 f 0 1 1 0.0 1.1 302
3 3 1012 2 1 70.07255 m 0 0 0 0.5 1.4 176
4 4 1925 2 1 54.74059 f 0 1 1 0.5 1.8 244
5 5 1504 1 2 38.10541 f 0 1 1 0.0 3.4 279
6 6 2503 2 2 66.25873 f 0 1 0 0.0 0.8 248
albumin copper alk.phos ast trig platelet protime stage
1 2.60 156 1718.0 137.95 172 190 12.2 4
2 4.14 54 7394.8 113.52 88 221 10.6 3
3 3.48 210 516.0 96.10 55 151 12.0 4
4 2.54 64 6121.8 60.63 92 183 10.3 4
5 3.53 143 671.0 113.15 72 136 10.9 3
6 3.98 50 944.0 93.00 63 NA 11.0 3
จากข้อมูลข้างต้นเรากำลังพิจารณาเวลาและสถานะสำหรับการวิเคราะห์ของเรา
การใช้ฟังก์ชัน Surv () และ Survfit ()
ตอนนี้เราดำเนินการต่อเพื่อใช้ไฟล์ Surv() ฟังก์ชั่นชุดข้อมูลข้างต้นและสร้างพล็อตที่จะแสดงแนวโน้ม
# Load the library.
library("survival")
# Create the survival object.
survfit(Surv(pbc$time,pbc$status == 2)~1)
# Give the chart file a name.
png(file = "survival.png")
# Plot the graph.
plot(survfit(Surv(pbc$time,pbc$status == 2)~1))
# Save the file.
dev.off()
เมื่อเรารันโค้ดด้านบนจะสร้างผลลัพธ์และแผนภูมิต่อไปนี้ -
Call: survfit(formula = Surv(pbc$time, pbc$status == 2) ~ 1)
n events median 0.95LCL 0.95UCL
418 161 3395 3090 3853
แนวโน้มในกราฟด้านบนช่วยให้เราคาดการณ์ความน่าจะเป็นของการอยู่รอดเมื่อสิ้นสุดจำนวนวันที่กำหนด