如何从矢量制作公式

How to make formula from a vector

我需要一种从字符串向量创建公式的方法。

比如我有向量:

a<-c("var1", "var2", "var3")

现在我需要根据该向量创建公式。上面向量的相应公式应如下所示:

~var1 + var2 + var3

因此,结果公式应以 ~ 开头,之后的变量名称应以 + 分隔。每个变量名称对应于向量的每个单元格。

一个选项是 paste 并使用 formula

as.formula(paste0("~ ", paste(a, collapse=" + ")))
#~var1 + var2 + var3

或者一个更简单的选项是 reformulate,而不指定 response,默认情况下会是 NULL`

reformulate(a)
#~var1 + var2 + var3