目录
一、目的
医生在诊断骨髓癌这种致命疾病时,常常需要做一个判断,即病人还能生存多长时间,或者哪些因素影响着病人的生存时间。合理回答该问题对医生和相关研究者的帮助甚大。基于对该问题的正确回答,医生能够给病人制定更合理的治疗方案,研究者可以对相关课题进行更为精确的研究。本报告试图通过对相关临床数据的分析找出影响患者生存时间的因素,并根据分析结果提出有意义的结论和建议。
二、数据来源和相关说明
1、数据来源
来源于研究者收集的关于骨髓癌患者的生存数据。
import os
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
# 参数设置
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width',300)
pd.set_option('display.max_info_columns',500)
plt.rcParams['font.sans-serif']=['SimHei'] #中文
plt.rcParams['axes.unicode_minus'] = False #负号
filePath = r'E:\CH7'
fileName = r'data.csv'
#获取数据
df_raw = pd.read_csv(open(os.path.join(filePath, fileName)))
2、数据信息
共65条样本,包含9个变量。
print(df_raw.info())
print(df_raw.head())
3、变量信息
# 变量列表
str_cols = []
num_cols = ['HGB', 'Platelet', 'Age', 'LogWBC', 'LogPBM', 'Protein', 'SCalc']
x_cols = str_cols + num_cols
y_cols = ['Time', 'VStatus']
(1)自变量
- HGB:确诊时血色素含量。
- Platelet:确诊时血小板状态(0=不正常;1=正常)。
- Age:确诊时年龄(单位:年)。
- LogWBC:对数变换后白细胞含量。
- LogPBM:对数变换后骨髓中血浆细胞含量。
- Protein:确诊时血蛋白含量。
- SCalc:确诊时血清钙含量。
(2)因变量
- Time:从确诊到死亡的生存时间(单位:月)。
- VStatus:生存状态(0=生存;1=死亡)。状态为“死亡”时,Time即为真实的生存时间;生存状态为“生存”时,意味着在该研究结束之前,没有观测到病人的确切生存时间,因此从数据中只能知道他的生存时间要大于Time的取值(右删失),但是到底大多少是不知道的。
三、描述性分析
df_clean = df_raw.copy()
1、描述统计
从以下指标可以粗略看出原始数据的整体分布。样本中包含了65个病人的数据,其中73.85%(48人)的病人在研究期间死去,而剩余的26.15%(17人)活过了最后的研究期限。
print(df_clean.describe().T)