Я вызываю функцию lmer
из пакета lme4
.Функция работает, если я жестко закодирую имена столбцов.Если я ссылаюсь на него как на переменную, он выдаёт ошибку.Моя конечная цель - вызвать строку, которая включает «+» между именами столбцов.
Вот пример lmer
call:
colnames(df)
COL_A, COL_B, COL_D
Это работает:
output <- lmer(COL_A ~ 1 + COL_B + 1|COL_D, df, REML = FALSE, verbose = TRUE)
Это не так:
var_a <- COL_A
var_b <- COL_B
var_c <- COL_D
output <- lmer(var_a ~ 1 + var_b + 1|var_c, df, REML = FALSE, verbose = TRUE)
Ошибкаэто подходит:
Error in model.frame.default(data = df, drop.unused.levels = TRUE, :
variable lengths differ (found for 'var_b')
Если это можно выяснить, это было бы здорово.
Моя конечная цель - вызвать функцию в виде строки, примерно так:
form_lmer<-"COL_A ~ 1 + COL_B + 1|COL_D"
output <- lmer(form_lmer, df, REML = FALSE, verbose = TRUE)
Кто-нибудь сталкивался с подобными вещами раньше?