使用R语言EValue包计算E-value时遇‘x为空’错误求助
解决EValue包在R 4.3.3中计算E-value时的'x'为空错误
问题背景
在R 4.3.3环境下使用EValue包(版本4.1.3)计算多变量Cox回归显著变量的E-value时,严格遵循包教程运行测试代码仍触发错误:
Error in var(x, use = "pairwise.complete.obs") : 'x' is empty
目前只能通过在线计算器计算,但效率低下。
测试代码
library(EValue) # compute E-value for HR = 0.56 with CI: [0.46, 0.69] # for a common outcome evalue(HR(0.56, rare = FALSE), lo = 0.46, hi = 0.69) # for a rare outcome evalue(HR(0.56, rare = TRUE), lo = 0.46, hi = 0.69)
环境信息
加载EValue包后的sessionInfo:
R version 4.3.3 (2024-02-29 ucrt) Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 11 x64 (build 22621) ...[省略重复内容]
解决建议
- 检查并更新依赖包:查看EValue的依赖列表(
packageDescription("EValue")$Imports),确保所有依赖包已正确安装且版本与R 4.3.3兼容,必要时更新依赖包。 - 安装开发版EValue:CRAN上的4.1.3版本可能与R 4.3.3存在兼容性问题,尝试安装GitHub上的最新开发版:
install.packages("devtools") devtools::install_github("jenniferthompson/EValue") - 避免函数冲突:确认没有其他包重定义
HR或evalue函数,调用时明确指定包名:library(EValue) EValue::evalue(EValue::HR(0.56, rare = FALSE), lo = 0.46, hi = 0.69) - 清理R环境:重启R,清空工作区(
rm(list = ls(all.names = TRUE))),仅加载EValue包后运行测试代码,排除环境中残留变量或函数的干扰。 - 降级R版本:若上述方法无效,可暂时降级至R 4.2.x版本,该版本与EValue 4.1.3的兼容性更稳定。
内容的提问来源于stack exchange,提问作者Mohamed Rahouma
相关产品推荐
相关产品推荐

