34

で回帰モデルを構築しようとしていlm(...)ます。私のデータセットには多くの機能があります (>50)。コードを次のように書きたくありません。

lm(output ~ feature1 + feature2 + feature3 + ... + feature70)

このコードを書くための略記法は何だろうと思っていました。

4

2 に答える 2

60

.のヘルプ ページに記載されているとおりに使用できますformula.は、「式に含まれていないすべての列」の略です。

lm(output ~ ., data = myData).

または、 を使用して式を手動で作成しpasteます。この例は、as.formula()ヘルプ ページからのものです。

xnam <- paste("x", 1:25, sep="")
(fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+"))))

次に、このオブジェクトを回帰関数に挿入できます: lm(fmla, data = myData).

于 2011-04-25T03:31:18.783 に答える
6

次のようなことも試すことができます。

lm(output ~ myData[,2:71], data=myData)

出力が最初の列 feature1:feature70 であると仮定すると、次の 70 列です。

または

features <- paste("feature",1:70, sep="")
lm(output ~ myData[,features], data=myData)

列がデータのどこにあるかは問題ではないため、おそらくよりスマートです。

ただし、NAの行が削除されている場合、問題が発生する可能性があります...

于 2011-04-25T04:08:07.263 に答える