从公式创建矢量;警告:未知列'级别'

时间:2016-08-17 12:47:49

标签: r

我想从公式中获取变量名称的向量,并使用以下代码: 并尝试了第二个。

rhs <- all.vars(update(formula, 0~.))
rhs <- all.vars(update(formula, 0~., evaluate = FALSE))

我偶尔会收到以下警告,但仍然可以正确执行:

Warning messages:
1: Unknown column 'levels' 
2: Unknown column 'levels' 
3: Unknown column 'levels' 
4: Unknown column 'levels' 
5: Unknown column 'levels' 
6: Unknown column 'levels' 

发生了什么事? 为什么这会随机发生?

1 个答案:

答案 0 :(得分:2)

要获取公式的lhs或rhs上的所有变量名称,请执行以下操作:

frm <- x  + y ~ sin(z)
lhs <- all.vars(frm[[2]])
rhs <- all.vars(frm[[3]])

公式对象可以作为列表访问,第一个元素是'〜',第二个元素是lhs,第三个元素是rhs。