質問

数式は、Rの統計とグラフィカル関数の非常に便利な機能です。みんなと同じように、私は、これらの機能の利用者です。しかし、私は、引数として式オブジェクトをとる関数を書いたことがありません。誰かがRプログラミングのこの側面に読める入門へのリンクのいずれかによって、または自己完結型の例を与えることによって、私を助けることができる場合、私は思っていた。

役に立ちましたか?

解決

あなたは式を評価するためにmodel.matrix()model.frame()を使用することができます:

lm1 <- lm(log(Volume) ~ log(Girth) + log(Height), data=trees)
print(lm1)

form <- log(Volume) ~ log(Girth) + log(Height)

# use model.matrix
mm <- model.matrix(form, trees)
lm2 <- lm.fit(as.matrix(mm), log(trees[,"Volume"]))
print(coefficients(lm2))

# use model.frame, need to add intercept by hand
mf <- model.frame(form, trees)
lm3 <- lm.fit(as.matrix(data.frame("Intercept"=1, mf[,-1])), mf[,1])
print(coefficients(lm3))

これは利回り

Call: lm(formula = log(Volume) ~ log(Girth) + log(Height), data = trees)

Coefficients: (Intercept)   log(Girth) log(Height)
      -6.63         1.98         1.12

(Intercept)  log(Girth) log(Height)
     -6.632       1.983       1.117  
Intercept  log.Girth. log.Height.
     -6.632       1.983       1.117
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top