r - 如何使用 as.formula 和 paste 来形成方程式
问题描述
我有一组变量,例如vars <- c("age", "gender", "city")
. 我需要拟合一个模型:fit <- coxme(Surv(tt, st) ~ age + gender + city + (1|id), data = df)
. 一切正常。但由于我有很多变量,我需要使用 as.formula:
vars <- c("age", "gender", "city")
fit <- coxme::coxme(as.formula(paste("Surv(tt, st) ~",
paste(vars, collapse = " + "),
"+ (1|id), data = df")))
我得到以下错误信息:
Error in parse(text = x, keep.source = FALSE) : <text>:1:121: unexpected ','
我怎么能写出这个方程?
解决方案
不包括", data = df"
. 公式只是第一部分。尝试这样的事情:
vars <- c("age", "gender", "city")
fit <- coxme(as.formula(paste("Surv(tt, st) ~",
paste(vars, collapse=" + "),
"+ (1|id)")),
data=df)