You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用qwraps2包summary_table函数时遇‘x必须为公式’错误

解决summary_table函数的"x must be a formula"错误

我一眼就揪出问题所在啦!你在定义Comorbidities子列表的时候,不小心把赋值符号=写成了比较运算符==,这直接导致qwraps2包没法正确识别公式结构,才抛出了Error: x must be a formula的错误。

修正后的代码

# 修正赋值符号的错误
summary_test <- list(
  "Gender" = list(
    "Female" = ~ qwraps2::n_perc0(.mydata$sex == "F"),
    "Male" = ~ qwraps2::n_perc0(.mydata$sex == "M")
  ),
  "Age" = list(
    "Mean" = ~ qwraps2::mean_sd(.mydata$age, denote_sd = "paren")
  ),
  "Comorbidities" = list(
    "HIV Positive" = ~ qwraps2::n_perc0(.mydata$hiv == 1),  # 将==改为=
    "Type 2 Diabetes" = ~ qwraps2::n_perc0(.mydata$diabetes == 1)  # 同样修正==为=
  )
)

# 调用函数
whole <- summary_table(mydata, summary_test)

额外注意要点

  • 列表中定义键值对必须用=,==是做逻辑比较的运算符,不能用来绑定列表名称和对应公式
  • 确保每个统计项都是标准的公式格式(以~开头),这是qwraps2包识别统计规则的核心要求
  • 你代码里.mydata的使用是正确的,summary_table会自动把传入的mydata赋值给内部变量.mydata,无需额外定义

内容的提问来源于stack exchange,提问作者epi_stats

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:20:38