2

dmダミー変数 , d1,d2を含むデータフレームがありd3ます。それらのリストを作成したいと思いますdummies、そしてそれを次のような簡単な方法で使用します

lm(y~dummies+x,data=dm)

出来ますか?

私は2つの方法を見つけましたが、私はそれらが好きではありません:

  1. 追加のデータフレームを作成しますdummies

  2. 次のようなものを使用しますformula(paste('y~',dummies,...)

最初のアプローチはメモリを消費しますが、2 番目のアプローチは醜いだけです。より良い方法はありますか?

4

1 に答える 1

4

対象の変数のみを含むデータ フレームを作成y ~ .し、データ フレーム内のすべての列を使用することを示す を使用します。

例えば:

set.seed(1)
dm <- data.frame(
  y = rnorm(100),
  x = rnorm(100),
  d1 = sample(0:1, 100, replace=TRUE),
  d2 = sample(0:1, 100, replace=TRUE),
  d3 = sample(0:1, 100, replace=TRUE)
)

lm(y ~ ., dm)
lm(formula = y ~ ., data = dm)

Coefficients:
(Intercept)            x           d1           d2           d3  
  -0.089440    -0.012945    -0.006305     0.391576    -0.034225  
于 2012-08-27T05:48:50.533 に答える