R公式编写时替换问题

R公式编写时替换问题,r,R,我想迭代一个公式,其中自变量作为字符串传递。我正在使用替换和表达式,但不知道为什么会失败 请参见以下内容: > coxph(substitute(survivalOutcome ~ x, list(x = as.name(colnames(combinedData)[1]))), data = combinedData) Error in terms.default(formula, special, data = data) : no terms component nor att

我想迭代一个公式,其中自变量作为字符串传递。我正在使用替换和表达式,但不知道为什么会失败

请参见以下内容:

> coxph(substitute(survivalOutcome ~ x, list(x = as.name(colnames(combinedData)[1]))), data = combinedData)
Error in terms.default(formula, special, data = data) : 
  no terms component nor attribute


> substitute(survivalOutcome ~ x, list(x = as.name(colnames(combinedData)[1])))
survivalOutcome ~ PMM2

> coxph(survivalOutcome ~ PMM2, data = combinedData)
Call:
coxph(formula = survivalOutcome ~ PMM2, data = combinedData)


       coef exp(coef) se(coef)     z    p
PMM2 0.0445      1.05    0.146 0.305 0.76

Likelihood ratio test=0.09  on 1 df, p=0.761  n= 206, number of events= 129 
> 
> colnames(combinedData)[1]
[1] "PMM2"

如您所见,表达式匹配得很好,但我不知道它为什么会失败?

您可能会更幸运地使用
?重新格式化
您是对的--我这样做了。尽管如此,我仍然对上述情况感到好奇。。