응답 변수 (dat_prob) 포함하는 내 데이터 집합의 열을 통해 루프에 의해 glmer 실행하려고합니다. 내가 사용하는 코드는 다른 stackoverflow 질문 (Looping through columns in R)에서 연구 코드에서 적응했습니다.루프를 통해 열 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 및 iterate 이상. 또는 사전에 수식을 구성하고 (데이터를 부분 집합 할 필요가 없음)이를 glmer 함수에 전달할 수 있습니다. 'sapply' 또는'lapply'를 사용하여 수식 목록을 뒤집을 수 있습니다. –