R 从公式中提取所有唯一变量

R 从公式中提取所有唯一变量,r,regex,tidyverse,tidytext,R,Regex,Tidyverse,Tidytext,我将lm()模型的公式存储为chr变量,并尝试将公式中的所有变量提取到向量中 要使其可复制,请使用mtcars变量:mpg、cyl、和drat(我的公式具有示例中的转换等) 有没有更简单的方法来完成我想做的事情,特别是使用tidytext 我仍然需要删除向量中的空字符串,还需要删除重复的字符串。基本包有一个功能: all.vars(as.formula(model_string)) #[1] "mpg" "cyl" "drat" 在这种情况下不应使用文本处理。基本软件包具有以下功能: al

我将
lm()
模型的公式存储为
chr
变量,并尝试将公式中的所有变量提取到向量中

要使其可复制,请使用
mtcars
变量:
mpg
cyl
、和
drat
(我的公式具有示例中的转换等)

有没有更简单的方法来完成我想做的事情,特别是使用tidytext


我仍然需要删除向量中的空字符串,还需要删除重复的字符串。

基本包有一个功能:

all.vars(as.formula(model_string))
#[1] "mpg"  "cyl"  "drat"

在这种情况下不应使用文本处理。

基本软件包具有以下功能:

all.vars(as.formula(model_string))
#[1] "mpg"  "cyl"  "drat"
在这种情况下,不应使用文本处理

library(tidyverse)
vars_used <- model_string %>% 
  str_extract_all(pattern = "\\w+") %>% 
  pluck(1) %>% 
  str_remove_all(pattern = "[0-9]")

vars_used

[1] "mpg"  "cyl"  "I"    "abs"  ""     ""     "drat" "I"    ""     ""     "drat" ""    
all.vars(as.formula(model_string))
#[1] "mpg"  "cyl"  "drat"