【发布时间】:2018-09-19 19:30:37
【问题描述】:
我使用最佳子集选择包来确定构建模型的最佳自变量(我确实有这样做的特定原因,而不是直接使用最佳子集对象)。我想以编程方式提取特征名称并使用生成的字符串来构建我的模型公式。结果会是这样的:
x <- "x1 + x2 + x3"
y <- "Surv(time, event)"
因为我正在构建一个coxph模型,所以公式如下:
coxph(Surv(time, event) ~ x1 + x2 + x3)
使用这些字符串字段,我尝试像这样构造公式:
form <- y ~ x
这会创建一个 formula 类的对象,但是当我调用 coxph 时,它不会根据从公式对象创建的引用进行评估。我收到以下错误:
Error in model.frame.default(formula = y ~ x) : object is not a matrix
如果我在 coxph 调用中对对象 y 和 x 调用 eval,我会得到以下信息:
Error in model.frame.default(formula = eval(y) ~ eval(x), data = df) :
可变长度不同(为 'eval(x)' 找到)
我不确定如何继续。感谢您的输入。
【问题讨论】:
-
as.formula(paste(y, "~", x))
标签: r formula cox-regression