【问题标题】:forest_model not accepting factor variables with space in nameForest_model 不接受名称中带有空格的因子变量
【发布时间】:2018-01-03 23:49:20
【问题描述】:

我正在尝试绘制一个 cox 比例风险比模型,该模型使用 forestmodel 的 forest_model 函数使用生存的 coxph() 计算得出。

协变量是因子,它们的一些名称中有一个空格,即。 “手术切除”。当我将这些输入 coxph 模型时,我用反引号引用它们,以便 R 知道忽略空格:

  res.coxm <- coxph(Surv(Survival_Overall, Death == 1) ~ Age+`Surgical Resection`
               +`Intracranial BoD`+`Systemic BoD`+`Treatment prior to CNS involvement`+
                 `Systemic treatment after CNS involvlement`+`Brain-directed radiotherapy`, data = df)

模型运行良好。当我尝试绘制此模型时,出现错误:

  forest_model(res.coxm, format_options = list(color="black", text_size=4.5))

  Error in grouped_df_impl(data, unname(vars), drop) : Column `Surgical Resection` is unknown

有人遇到过这个问题吗?

如果满足以下条件,情节就很好: - 我将变量名称更改为“无空格”版本,即“surgical_resection”而不是“Surgical Resection”OR - 如果我将变量从因子更改为整数,但保留名称与空格

我尝试使用各种不同的列命名函数(包括名称(sd))重新编码我的原始 df

有什么想法吗?谢谢!!

【问题讨论】:

    标签: r survival-analysis survival


    【解决方案1】:

    这似乎是重命名列的阻力最小的路径,因此它们没有空格。如果成功,那么您还可以向维护人员发送功能请求,要求他/她使包符合 R 回归函数中的典型编程实践。如果它不成功,那么您仍然会发送内容有所不同的请求。

    我也无法通过简单的测试用例重现错误:

    test1 <- list(time=c(4,3,1,1,2,2,3), 
                   status=c(1,1,1,0,1,1,0), 
                   x=c(0,2,1,1,1,0,0), 
                   'Sex m f'=c(0,0,0,0,1,1,1)) 
    
     f <- coxph(Surv(time, status) ~ x + `Sex m f`, test1)
     forestmodel::forest_model(f)
    
      # no error, plot as expected.
    

    【讨论】:

    • 谢谢@42-您的代码也对我有用,但这只是因为所有变量都是数字的。第二次我将'Sex m f'更改为一个因子: > test1$Sex m f Sex m f, levels = c(0,1), labels = c("M", "F") ) 它返回了与我以前相同的错误。我愿意更改变量名称,但我想将此图用于官方出版物,所以我需要它看起来合适......我可以在照片编辑软件中编辑它,但这似乎很多。
    猜你喜欢
    • 2020-03-25
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多