4.1 通过字符串创建公式

4.1.1 问题

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

4.1.2 方案

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

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

  1. # 这将返回一个字符串
  2. "y ~ x1 + x2"
  3. #> [1] "y ~ x1 + x2"
  4. # 这将返回一个公式
  5. as.formula("y ~ x1 + x2")
  6. #> y ~ x1 + x2

下面是一个简单实例:

  1. # 存在一些变量名:
  2. measurevar <- "y"
  3. groupvars <- c("x1", "x2", "x3")
  4. # 创建合适的字符串:
  5. paste(measurevar, paste(groupvars, collapse = " + "), sep = " ~ ")
  6. #> [1] "y ~ x1 + x2 + x3"
  7. # 返回公式:
  8. as.formula(paste(measurevar, paste(groupvars, collapse = " + "),
  9. sep = " ~ "))
  10. #> y ~ x1 + x2 + x3