R survminer包pairwise_survdiff运行提示变量长度错误如何解决
报错原因
survminer包的pairwise_survdiff函数内部逻辑要求公式中涉及的所有变量必须全部来自你传入的data参数对应的数据框,你预先创建的surv.obj是全局环境中的独立对象,没有存入df数据框,因此函数检索变量时匹配失败抛出报错,和变量本身的长度没有关系。
而基础的survdiff函数对变量来源的兼容性更强,允许传入全局环境中的独立Surv对象,因此之前的常规分析可以正常运行。
修复方案
有两种可直接运行的修改方式:
- 方案1:直接在公式内构造生存对象,不需要提前创建独立的
surv.obj
pairwise_survdiff(Surv(deathtime, abs(censor -1)) ~ treatment, data = df)
- 方案2:将提前构造好的生存对象存入
df后再调用函数
df$surv.obj <- Surv(df$deathtime, abs(df$censor -1)) pairwise_survdiff(surv.obj ~ treatment, data = df)
两种方案运行后都可以得到三组治疗方式两两比较的Log-rank检验结果以及校正后的p值。
内容的提问来源于stack exchange,提问作者Victor Feagins
相关产品推荐
相关产品推荐

