Я новичок в написании циклов, и у меня есть некоторые трудности там.Я уже просмотрел другие вопросы, но не нашел ответа на свою конкретную проблему.
Итак, давайте просто создадим случайный набор данных, дадим имена столбцов и зададим переменные в виде символов:
d<-data.frame(replicate(4,sample(1:9,197,rep=TRUE)))
colnames(d)<-c("variable1","variable2","trait1","trait2")
d$variable1<-as.character(d$variable1)
d$variable2<-as.character(d$variable2)
Теперь я определяю свой вектор, по которому я хочу выполнить цикл.Это соответствует черте 1 и черте 2:
trt.nm <- names(d[c(3,4)])
Теперь я хочу применить следующую модель для черты 1 и черты 2 (которые теперь должны быть именами столбцов в trt.nm) в цикле:
library(lme4)
for(trait in trt.nm)
{
lmer (trait ~ 1 + variable1 + (1|variable2) ,data=d)
}
Теперь я получаю ошибку, что переменные длины отличаются.Как это можно объяснить?
Если я применяю модель без цикла для каждой черты, я получаю результат, поэтому проблема должна быть где-то в цикле, я думаю.