4.1 通过字符串创建公式

4.1 通过字符串创建公式

4.1.1 问题

你想通过字符串创建公式。

4.1.2 方案

通过字符串的方式来创建公式是非常有用的。这通常用于需要将公式参数当做字符串传入函数中。

最基础实用的方法就是调用函数 as.formula():

## 这将返回一个字符串
"y ~ x1 + x2"
#> [1] "y ~ x1 + x2"

## 这将返回一个公式
as.formula("y ~ x1 + x2")
#> y ~ x1 + x2

下面是一个简单实例:

## 存在一些变量名:
measurevar <- "y"
groupvars <- c("x1", "x2", "x3")

## 创建合适的字符串:
paste(measurevar, paste(groupvars, collapse = " + "), sep = " ~ ")
#> [1] "y ~ x1 + x2 + x3"

## 返回公式:
as.formula(paste(measurevar, paste(groupvars, collapse = " + "),
  sep = " ~ "))
#> y ~ x1 + x2 + x3