2017-07-11 11 views
0

miceを使用して50個のデータセットを作成した後、glmnetを使用して弾性ネットを実行したいと考えています。帰属データを分析する適切な方法は、mice(x,...)が実行されたときに作成されたmidsオブジェクトにwithpool関数を適用することですが、glmnetはデータを行列として供給する必要があることを理解しています。 model.matrixbuild.xの両方を使用して、汎用データフレームをマトリックスに変換することができます。 midsオブジェクトはdata.frameに変換できます。ただし、利用可能なデータを単一のデータセットとして使用すると、完全な帰属プロセスが損なわれるように見えます。弾性ネットで使用するために帰属データに行列を生成する

例:

df <- mice::nhanes 
imp <- mice(df) #impute data 
com <- complete(imp, "long", TRUE) #creates data frame 
mat <- build.x(bmi ~ age + hyp + chl, com, contrasts = FALSE) 

と仮定すると、インピューテーションは、インピューテーションを維持し、glmnetで使用するために、関連する行列を作成するための最も適切な方法は何か、正確ですか?

答えて

0

これを行う最も簡単な方法は、glmnet用の数式/データフレームインターフェイスを実装する私のglmnetUtils packageを使用することです。他のRモデル構築機能と同じように、伸縮ネットをフィットさせます。

install.packages("glmnetUtils") 
library(glmnetUtils) 

# ... do whatever is required to create an analysis data frame ... 

glmnet(bmi ~ age + hyp + chl, data=com) 
関連する問題