私は、応答変数(dat_prob)を含む私のデータセットの列をループすることによってglmerを実行しようとしています。私が使用しているコードは、別のstackoverflow質問(Looping through columns in R)loop through column glmer
彼らのコード:
dat_y<-(dat[,c(2:1130)])
dat_x<-(dat[,c(1)])
models <- list()
#
for(i in names(dat_y)){
y <- dat_y[i]
model[[i]] = lm(y~dat_x)
}
マイコード:
dat_prob<-(probs[,c(108:188)])
dat_age<-(probs[,c(12)])
dat_dist<-(probs[,c(20)])
fyearcap=(probs[,c(25)])
fstation=(probs[,c(22)])
fnetnum=(probs[,c(23)])
fdepth=(probs[,c(24)])
models <- list()
#
for(i in names(dat_prob)){
y <- dat_prob[i]
y2=as.vector(y)
model[[i]] = glmer(y ~ dat_age * dat_dist + (1|fyearcap) + (1|fstation)+
(1|fnetnum)+ (1|fdepth),family=binomial,REML=TRUE)
}
そして、私はこのエラーが発生した、エラーに似ては、ハイパーリンクされた質問に受け取っ:
Error in model.frame.default(drop.unused.levels = TRUE, formula = y ~ :
invalid type (list) for variable 'y'
私はされていますこれを何時間も働いていて、今は木々を通って森を見ることができません。
何か助けていただければ幸いです。
はあなたがすべてのものを置くことの方が良いだろうdata.frameを繰り返し、それを繰り返します。あるいは、事前に式を構築して(データをサブセット化する必要はありません)、それを 'glmer'関数に渡すことができます。 'sapply'や' lapply'を使って数式のリストを見ることができます。 –