首页 > 解决方案 > 如何从字符串“y ~ x + z”中获取向量(“x”,“z”)?

问题描述

我有一个回归公式字符串"y ~ x + z"。我如何获得"x""z"从中获得?我需要获取用于回归的列名..

标签: r

解决方案


我们可以将字符串转换为formula对象并使用all.vars. 第一个元素将是因变量,因此使用索引 ( [-1])将其删除

all.vars(as.formula(str1))[-1]
#[1] "x" "z"

或者正如@ducymayr 提到的

attr(terms(as.formula(str1)), "term.labels")
#[1] "x" "z"

数据

str1 <- "y ~ x + z"

推荐阅读