lm()で名前ではなく列番号を使用する

formula lm r
lm()で名前ではなく列番号を使用する

`lm(bp〜height + age、data = mydata)`のようなものの代わりに、名前ではなく番号で列を指定したいと思います。

lm(mydata [[1]]〜mydata [[2]] + mydata [[3]])`を試しましたが、これに伴う問題は、近似モデルでは係数が `mydata [[2] ] `、 mydata [[3]] `など、実際の列名が必要です。

たぶん、これはあなたのケーキを持って食べていない場合ですが、専門家がこれが可能かどうかアドバイスできるなら、私は感謝します

  17  8


ベストアンサー

lm(
    as.formula(paste(colnames(mydata)[1], "~",
        paste(colnames(mydata)[c(2, 3)], collapse = "+"),
        sep = ""
    )),
    data=mydata
)

`c(2、3)`の代わりに、必要なインデックス数を使用できます(forループは不要です)。

25


タイトルとURLをコピーしました