有没有一种简单的方法可以从公式中删除响应变量?我尝试使用stats::update.formula
,像这样:
> update(y ~ x, ~ .)
y ~ x
但是您可以看到,上述代码并未从公式中移除响应变量。
有没有一种简单的方法可以从公式中删除响应变量?我尝试使用stats::update.formula
,像这样:
> update(y ~ x, ~ .)
y ~ x
你可以使用NULL作为响应。
update(y ~ x, NULL ~ .)
# ~x
fo <- y ~ x
fo[-2]
## ~x
length(fo)
可以区分具有 LHS 和没有 LHS 的公式。length(fo)
## [1] 3
length(fo[-2])
## [1] 2
if (length(fo) == 3) fo[-2] else fo
## ~x
虽然不是特别优雅,但您可以执行以下操作来删除响应变量:
formula(delete.response(terms(y ~ x)))
# ~x