调用analyse_multivariate报错object not found但变量实际存在如何解决
问题原因
这个报错是survivalAnalysis包的analyse_multivariate函数适配tidyeval时的环境查找问题:函数解析vars()内的变量名时,默认优先到全局环境检索,而你的Age等变量仅作为mydata的列存在,没有定义为独立的全局变量,因此检索失败。
解决方案,按优先级尝试:
- 显式传入data参数(最稳定)
放弃管道写法,直接将数据集传给函数的data参数,代码如下:
result <- analyse_multivariate( data = mydata, vars(time, died), covariates = vars(Age, Gender, Insufficiency) )
90%以上的同类场景用这个方法可以直接解决报错。
- 保留管道的修正写法
如果需要保留管道逻辑,用.data代词明确告知变量来自管道传入的数据集即可:
mydata %>% analyse_multivariate( vars(time, died), covariates = vars(.data$Age, .data$Gender, .data$Insufficiency) ) -> result
内容的提问来源于stack exchange,提问作者MDStat
相关产品推荐
相关产品推荐

