survsvm.reg <- survivalsvm(Surv(month, OS) ~ ., data = train, type = "regression", gamma.mu = 1, opt.meth = "quadprog", kernel = "add_kernel") var_imp <- coef(survsvm.reg) var_imp> var_imp NULL
时间: 2023-12-26 16:07:13 浏览: 32
根据你提供的代码,我发现你在使用survivalsvm函数时,设置了type参数为"regression",这意味着你正在运行一个生存回归模型而不是生存分类模型。因此,你不能使用coef函数来提取变量的重要性。在生存回归模型中,通常使用类似于Cox比例风险模型中的系数来表示每个变量的影响。你可以尝试使用summary函数来查看生存回归模型的系数,例如:
```
summary(survsvm.reg)
```
这将提供有关每个变量的系数、标准误差和置信区间的信息。请注意,survivalsvm函数使用的是支持向量机算法,因此得到的系数可能与传统的Cox比例风险模型中的系数略有不同。
相关问题
R语言针对这个代码survsvm.reg <- survivalsvm(Surv(month, OS) ~ ., data = train, type = "regression", gamma.mu = 1, opt.meth = "quadprog", kernel = "add_kernel"),如何获取brier score
要获取survsvm.reg模型的Brier Score,可以使用以下代码:
1.首先,使用 predict() 函数来预测模型在测试集上的生存概率:
```r
test.surv.prob <- predict(survsvm.reg, newdata = test, type = "prob")
```
2.然后,将得到的生存概率与实际观察结果进行比较,计算Brier Score:
```r
library(survival)
brier.score <- survConcordanceMS(test$OS, test.surv.prob[,2], test$month)$concordance[1]
```
其中,`survConcordanceMS()` 函数用于计算Brier Score,第一个参数为实际观测时间,第二个参数为生存概率,第三个参数为观测时间。`test.surv.prob[,2]` 表示生存概率的第二列,即生存的概率。最后,用 `$concordance[1]` 提取Brier Score的值。
fit <- coxph(Surv(OS.time,OS) ~ ., data = my.cli.2) # 查看回归系数和显著性检验结果 summary(fit)##结果变成data frame
在这段代码中,使用了coxph()函数拟合了一个Cox回归模型,并将结果保存在fit对象中。其中,Surv()函数表示生存数据的格式,OS.time表示生存时间,OS表示是否事件发生(1表示事件发生,0表示未发生),~.表示使用所有其他变量拟合模型。data参数表示使用的数据集,这里是my.cli.2。最后,使用summary()函数查看回归系数和显著性检验结果,结果会以数据框(data frame)的形式呈现。