2016-06-19 22 views
0

は、私はコマンドを使用して混合モデルを推定するためにglmmLassoを実行しようとしています:glmmLassoの警告メッセージ

glm1_final <- glmmLasso(Activity~Novelty + Valence + ROI, rnd = 
list(Subject=~1), data = KNov, lambda=lambda[opt],switch.NR=F,final.re=TRUE) 

このコードは、基本的にdemo("glmmLasso-soccer")から取られているが、私の変数はに代入して活動は、脳活動の測定値です。 、新規性および価値は、応答を引き出すために使用される刺激のタイプを符号化するカテゴリ変数であり、ROIは、この活動をサンプリングした脳の3つの領域を符号化するカテゴリ変数である。被験者は、データをサンプリングした個体のID番号である(n = 94)。 lambda[opt]は以前の手順で設定されていますが、前の手順でも問題のエラーが表示されるため、正確かどうかわかりません。

警告メッセージ:1:私は2つの警告を取得し続ける

split.defaultにおいては、((1:NcoI部位(X)) - inotpen.which]は、IPEN):データ長が整数倍でありませんest.glmmLasso.REで(修正=修正、RND = RND、データ=データ、ラムダ=ラムダ、:!スプリット可変2のクラスタ可変因子変数として指定されなければならない

最初の場合にのみ発生しますROIがモデルにあります。2番目のモデルを廃止するためにモデルに加えることのできる変更を特定していません。

私はこれらの警告が何を意味するかわからないし、Googleはそれらに何も表示されていません。私はまだ私のパラメータの推定値を取得しますが、私は警告が何を意味するのかわからないので、私は正確であるかどうかわかりません。

誰でもこの警告の意味を理解していますか?

UPDATE:私は私のデータのabreviatedバージョンをアップロードした

KNov <- read.table("Nov_abr.txt", header = TRUE) 
KNov$Subject <- factor(KNov$Subject) 
library(glmmLasso) 
glmmLasso(Activity~Novelty + Valence + ROI, rnd = list(Subject=~1), data = KNov, lambda=10,switch.NR=F,final.re=TRUE) 

KNov:私は、コードを実行する場合、私はまだ2番目のエラーを取得し確認しているGoogle Drive

$件名< - 要因(KNov $件名)が他のエラーをクリアしました。

RIのバージョンきたが、ある:Rバージョン3.3.0(2016年5月3日)、プラットフォーム: "I386-W64-MINGW32"

+0

ですスタックオーバーフローへようこそ! [再現可能な例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を提供するデータおよび/またはコードを含めてください。 'str(KNov)'の結果を(少なくとも)見ることができますか? –

+0

@BenBolkerデータを追加しました。ありがとうございます! – xralphyx

答えて

3

あなたは取り除くために

KNov$Subject <- factor(KNov$Subject) 

を使用する必要があります

修正:モデルの 固定効果の一部を説明両面リニア式オブジェクトと最初の警告、及び文書としてあなたの固定効果式as.factor(ROI)、(強調は下記の添加)の の「〜」演算子の応答と、右側の「+ ' 演算子」で区切られた用語です。 カテゴリの共変変数については、式に as.factor(。)を使用してください。対応 ダミーがグループとして扱われ、ブロック状

ので

glmmLasso(Activity~Novelty + Valence + as.factor(ROI), 
     rnd = list(Subject=~1), 
     data = KNov, lambda=10,switch.NR=F,final.re=TRUE) 

は(私はまだ警告を受ける動作しているように更新されていることに注意してください、が、私はだからそれはだと思いますデータの小さなサブセットを使用して)。はい、より明示的な警告メッセージを取得するとよいでしょう(この構文も。?glmmLassoの例「カテゴリ共変量との線形混合モデル」に示されている)が、答えは、ドキュメントの ...

+0

これは警告を取り除きます。しかし、ROIとのやりとりをテストしたいと思います。私が実行した場合 'glmmLasso(Activity〜Novelty + Valence + as.factor(ROI)+ Novelty:as.factor(ROI)+ Novelty:Valence:as.factor(ROI)、 rnd = list(件名=〜1) 、 'エラー[' .data.frame'(data、、strsplit(fac.name)、エラーが発生しました。 、 ":")[[1]] [1]): 未定義の列を選択しました – xralphyx

+0

私の推測では、独自のモデル行列/ダミー変数を構築する必要があります。私は、式の中の 'as.factor()'は特別に扱われると思うので、やりとりの項を含めるとおそらくそれだけでしょう。 (それは 'as.factor(Novelty:ROI)'を試みる価値があるだろう - それがうまくいくのではないかと思うが、もしそうなら、これは最も簡単な方法だろう)(私は私の答えを更新するかもしれないが、技術的には、質問...) –

+0

簡単な説明 - ROIに2つ以上のレベル(Valenceの新型ではなく、カテゴリ別)があるため、ROIにas.factor()が必要な理由は何ですか? – xralphyx