Я пытаюсь подогнать модель регрессии Пуассона к набору данных в R, в результате чего у меня есть векторы различной длины, хранящиеся в двух списках в виде столбцов данных, например:
test <- data.frame(a = 1:10, b = rnorm(10))
test$c <- list(length = nrow(test))
test$d <- list(length = nrow(test))
for(i in 1:nrow(test)) {
test$c[[i]] <- LETTERS[1:sample(10:11, 1)]
test$d[[i]] <- LETTERS[1:sample(10:11, 1)]
}
Мне нужно построить модель для прогнозирования a
из b
и векторов c
и d
. Поскольку невозможно передать списки в glm, я попытался распечатать списки c
и d
, чтобы передать их в модель, но это просто приводит к созданию одного длинного вектора для c
и d
, что означает I получить эту ошибку:
m0.glm <- glm(a ~ b + unlist(c) + unlist(d), data = test)
Error in model.frame.default(formula = a ~ b + unlist(c) + unlist(d), :
variable lengths differ (found for 'unlist(c)')
Я чувствую, что будет простое решение, которое мне не хватает в моей проблеме, но мне раньше не приходилось пытаться передать список векторов модели.
Заранее спасибо.