11

数式オブジェクト form1 があります

 form1 = y ~ 1 + x*y

form2 が

 form2 = y ~ 1 + x*y + z.

これを行うための非常に面倒な方法を見つけました:

terms.form1 <- terms(form1)
terms.labels <- attr(terms.form1,"term.labels")
old.terms <- paste(terms.labels,collapse=" + ")
updated.terms <- paste(old.terms," + z",collapse=" + ")

form2 = as.formula(paste(as.character(form1[[2]]),"~",updated.terms,collapse=""))

これでform2が得られますが、これを行う簡単な方法があるかどうか疑問に思っています。

前もって感謝します!

4

1 に答える 1

20

使用する必要がありますupdate.formula

update(y ~ 1 + x*y,    ~ . + z)
y ~ x + y + z + y:x

は、「式のこの部分に以前あったもの」を. 意味します。

于 2013-08-06T00:54:57.720 に答える