0
我写了一个函数,用户指定一个线性模型(例如,y~x+tx+x*tx
)。在用户指定这个模型后,我想用他们的输入来创建一个不同的公式y
。选择'〜`的所有内容
我想我只需要选择公式的~x+tx+x*tx
部分,然后粘贴一个新的y
变量。我怎样才能做到这一点?或者,还有更好的方法?
我写了一个函数,用户指定一个线性模型(例如,y~x+tx+x*tx
)。在用户指定这个模型后,我想用他们的输入来创建一个不同的公式y
。选择'〜`的所有内容
我想我只需要选择公式的~x+tx+x*tx
部分,然后粘贴一个新的y
变量。我怎样才能做到这一点?或者,还有更好的方法?
也许最明显的(这没有发生我直到刚才...多么悲伤)
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)
获得右侧但是,假设有下式的右手边。
'update()'是完美的 – User7598