我编写了一个用户指定线性模型的函数(例如y~x+tx+x*tx
)。在用户指定此模型后,我想使用他们的输入来创建具有不同y
的新公式。
我想我只需要选择公式的~x+tx+x*tx
部分,然后将其粘贴到新的y
变量中。我怎样才能做到这一点?或者,还有更好的方法?
答案 0 :(得分:2)
也许最明显的是(直到现在才发生这种情况......多么悲伤)
form <- y~x+tx+x*tx
update(form, new_y ~ .)
有几种方法可以解决这个问题,但这可能是我的首选(至少目前为止)。
form <- y~x+tx+x*tx
rhs <- sub(".+~", "", deparse(form))
as.formula(paste0("new_y ~", rhs))
您也可以使用
获得右侧tail(as.character(form), 1)
但是假设公式有右侧。