单因素cox分析筛选变量的python代码
时间: 2024-11-13 21:28:21 浏览: 40
单因素Cox比例风险模型(Cox Proportional Hazards Model)是一种常用的生存分析方法,用于评估单个独立变量对生存时间的影响。在Python中,我们可以使用`survival`库中的`coxph`函数来进行此类分析。下面是一个简单的例子,假设我们有一个名为`df`的数据框,其中包含`Survival_Time`, `Event_Status`(是否发生事件),以及一些其他可能影响生存时间的特征:
```python
# 导入需要的库
import pandas as pd
from statsmodels.sandbox.stats.multicomp import pairwise_tukeyhsd
from lifelines import CoxPHFitter
# 假设df是你数据集
data = df[['Survival_Time', 'Event_Status', 'Feature1', 'Feature2', 'Feature3']]
# 将分类变量编码为数值形式(如果需要)
for col in ['Feature1', 'Feature2', 'Feature3']:
data[col] = pd.Categorical(data[col]).codes
# 创建Cox回归模型
cph = CoxPHFitter()
cph.fit(data, duration_col='Survival_Time', event_col='Event_Status')
# 打印系数、p值和HR(风险比)
print(cph.summary())
# 筛选显著的变量(通常是p_value小于预设阈值,比如0.05)
significant_features = cph.covariate_importance_['coef'] | cph.covariate_importance_['p_value'] < 0.05
selected_variables = data.columns[data.columns.isin(significant_features.index)]
阅读全文