Lm(...)で回帰モデルを構築しようとしています。データセットには多くの機能があります(> 50)。コードをlm(output~feature1+feature2+feature3+...+feature70)
として書きたくありません。このコードを書くための略記法は何だろうと思っていました。
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)
に挿入できます。
次のようなことも試してみてください:
lm(output ~ myData[,2:71], data=myData)
出力が最初の列であると仮定すると、feature1:feature70は次の70列です。
または
features <- paste("feature",1:70, sep="")
lm(output ~ myData[,features], data=myData)
データの中で列がどこにあるかは関係ないので、おそらくよりスマートです。
ただし、NAの行が削除されている場合、問題が発生する可能性があります...