Rでモデルを定義することについてthisの質問をしました。私がしたいのは、forループ内のモデルの変数を入れ替えて、すべての変数が対象変数他のすべての変数はその反復の予測変数です。ここでループのためにこれを作成するための私の試みを私の質問を明確にするためforループのモデルを定義するR
mdl <- product1 ~ product2 + product3
mdl <- product2 ~ product1 + product3
mdl <- product3 ~ product1 + product2
:
df <- data.frame(customer = c(1:5), product1 = c(1,0,1,1,0), product2 = c(0,1,0,0,1), product3 = c(0,1,1,1,0))
customer product1 product2 product3
1 1 1 0 0
2 2 0 1 1
3 3 1 0 1
4 4 1 0 1
5 5 0 1 0
それでは、私はこのケースで3回反復してforループを作成したいと考え
for(j in 1:ncol(df)){
mdl <- df$[j] ~ df[-j] # include all variables except target variable
print(mdl)
}
返された出力:
df[j] ~ df[-j]
df[j] ~ df[-j]
df[j] ~ df[-j]
df[j] ~ df[-j]
私は、所望の出力として何かを期待しながら:私はこれを知っていただきたいと思いますなぜあなたは不思議場合
product1 ~ product2 + product3
product2 ~ product1 + product3
product3 ~ product1 + product2
を。私は私の質問が明確であり、うまくいけば、誰も私を助けることができることを願ってい
naiveBayes(mdl, df, type = "raw")
:私は、この例のように予測モデルを実行するためのループでそれを使用したいです。
を参照してください私はあなたが入力data.frameからその所望の出力を取得する方法を理解していません。 – MrFlick
これはあなたが欲しいものに似ていますか? http://stackoverflow.com/questions/5300595/automatically-create-formulas-for-all-possible-linear-models – MrFlick
@MrFlickリンクをありがとう、それは私が探していたものに近いです。違いは、すべての変数を含むすべての可能な組み合わせが欲しいということです。したがって、product1、product2、product3の列には、9ではなく3つのユニークな組み合わせしかありません。 – Floris