エラーが出るコード
もっとでかいデータで回してもエラーは出ないのに…。
R単体で回してもエラーが出ることが判明。
最近3.1.1にバージョンアップしたのが原因?
3.0.1でもエラーが出るのでデータに問題がありそう。
サンプル数に対してFactorが多すぎるのが問題?
数値部分の欠損はなし。
Factor部分の欠損は「N」を代入しているので欠損はなし。
OS:Windows7 professional Edition +SP1
R:3.1.1
str(d1) 'data.frame': 51 obs. of 20 variables: $ ID : Factor w/ 51 levels "P0904","P1047",..: 1 2 3 4 5 6 7 8 9 10 ... $ S01: int 6000 2387 3468 10000 6000 6000 215 8191 6000 6000 ... $ CV1: num 85 9 118 109 26 73 3 34 81 7 ... $ K01: Factor w/ 18 levels : 3 2 11 2 13 5 9 1 6 9 ... $ K02: Factor w/ 6 levels : 2 6 4 1 2 1 1 6 2 4 ... $ K03: Factor w/ 22 levels : 15 5 19 5 9 20 18 2 20 11 ... $ A01: Factor w/ 3 levels "N","いいえ","はい": 2 3 3 3 2 3 3 2 2 2 ... $ A02: Factor w/ 3 levels "N","いいえ","はい": 2 2 3 3 2 2 2 2 2 2 ... $ A03: Factor w/ 3 levels "N","いいえ","はい": 3 3 3 3 3 2 3 2 3 3 ... $ B01: Factor w/ 3 levels "N","いいえ","はい": 2 3 3 3 2 3 3 2 3 3 ... $ B02: Factor w/ 3 levels "N","いいえ","はい": 2 2 3 3 2 3 2 2 3 2 ... $ B03: Factor w/ 3 levels "N","いいえ","はい": 2 2 2 2 2 2 2 2 2 2 ... $ B04: Factor w/ 3 levels "N","いいえ","はい": 2 3 2 3 3 3 2 2 3 2 ... $ B05: Factor w/ 3 levels "N","いいえ","はい": 2 3 3 3 3 3 2 3 3 3 ... $ B06: Factor w/ 3 levels "N","いいえ","はい": 2 3 3 2 2 3 2 2 2 2 ... $ C01: Factor w/ 3 levels "N","いいえ","はい": 2 3 2 3 2 3 2 3 3 2 ... $ C02: Factor w/ 3 levels "N","いいえ","はい": 3 2 3 3 2 3 2 2 3 3 ... $ C03: Factor w/ 3 levels "N","いいえ","はい": 2 2 2 2 2 2 2 2 2 2 ... $ C04: Factor w/ 3 levels "N","いいえ","はい": 2 2 2 2 2 2 2 2 2 2 ... $ C05: Factor w/ 3 levels "N","いいえ","はい": 2 2 2 3 2 3 2 2 3 2 ... #ファイルを取り込み d1<-read.table(file="data.txt",header=T,sep="\t") #項目名一覧を取得 tmp<-colnames(d1) #必要なパッケージを入れる require(MASS) require(glmmML) require(AER) require(pscl) #項目名確認 tmp #Rに取り込まれた項目名は以下の通りです。 #目的変数・randomEffect用変数・二項分布モデル用の試行数の項目名を確認し、「目的変数などを設定」のノードを修正してください。 #変数選択 sName<-"CV1" #CVの項目名を編集 aName<-"S01" #二項分布モデルの場合、試行数の項目名を編集 rName<-"ID" #randomEffectを考慮してIDなどの情報を含む場合項目名を追加 #項目名一覧を取得 tmp<-colnames(d1) #GLM用の説明変数を作成 #【モデル共通】目的変数を除去 for(i in 1:length(tmp)){ if((tmp[i]==sName)){ tmp<-tmp[-i] break } } #【共通】randomEffect変数を除去 # ToDo:randomEffectは複数設定できるものもあるみたいなので、先々はリスト形式で持たせるようにする。 for(i in 1:length(tmp)){ if((tmp[i]==rName)){ tmp<-tmp[-i] break } } #ポアソン分布用のGLMMモデル式を作成 fpglmm<-paste("d1.pglmm<-glmmML(",sName,sep="") fpglmm<-paste(fpglmm,"~",sep="") for(i in 1:length(tmp)){ fpglmm<-paste(fpglmm , tmp[i],sep="") if(i<length(tmp)) fpglmm<-paste(fpglmm,"+",sep="") } fpglmm<-paste(fpglmm,",family=poisson,data=d1,cluster=",sep="") fpglmm<-paste(fpglmm,rName,sep="") fpglmm<-paste(fpglmm,",start.sigma=2)",sep="") #ポワソン分布モデルの作成⇒ここで落ちる eval(parse(text=fpglmm))