> nri <- NRI(time1, status, risk_new, risk_old) Error in NRI(time1, status, risk_new, risk_old) : could not find function "NRI"
时间: 2024-04-08 20:31:17 浏览: 134
非常抱歉,我之前给出的代码有误。R语言没有内置的NRI函数。你可以使用外部包pROC来计算NRI和P值。下面是一个更新后的示例:
首先,确保安装了所需的包。如果没有安装,可以使用以下命令安装:
```R
install.packages("survival")
install.packages("pROC")
```
假设你已经加载了所需的包并准备好了数据。接下来,你可以按照以下步骤计算NRI和P值:
1. 使用survival包来拟合新旧模型,并计算相关的生存函数和风险预测值。
```R
library(survival)
# 拟合旧模型
fit_old <- survfit(Surv(time, event) ~ var1 + var2, data = your_data)
# 拟合新模型
fit_new <- survfit(Surv(time, event) ~ var1 + var2 + var3, data = your_data)
# 计算旧模型和新模型的生存函数和风险预测值
surv_old <- summary(fit_old)$surv
surv_new <- summary(fit_new)$surv
risk_old <- summary(fit_old)$cumhaz
risk_new <- summary(fit_new)$cumhaz
```
2. 使用pROC包来计算NRI和P值。
```R
library(pROC)
# 计算NRI和P值
nri <- survivalROC(futime = time, fustat = event,
newpred = risk_new, oldpred = risk_old,
pval = TRUE)
nri_value <- nri$nri
p_value <- nri$p.value
```
这样,你就可以得到NRI和相应的P值。
请注意,上述示例仅为演示目的。实际使用时,你需要根据你的具体数据和模型进行相应的调整。此外,确保在使用这些方法之前仔细阅读相关文档和参考资料,以确保正确理解和应用。
阅读全文