2015-09-02 139 views
0

我寫了一個函數,用戶指定一個線性模型(例如,y~x+tx+x*tx)。在用戶指定這個模型後,我想用他們的輸入來創建一個不同的公式y選擇'〜`的所有內容

我想我只需要選擇公式的~x+tx+x*tx部分,然後粘貼一個新的y變量。我怎樣才能做到這一點?或者,還有更好的方法?

回答

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) 

獲得右側但是,假設有下式的右手邊。

+0

'update()'是完美的 – User7598