Я пытаюсь запустить модель несколько раз в цикле, а затем выбрать лучший из них.Для этого я хочу
- изменить название каждой модели с помощью строки
assign(paste0("mod_match_logit", i), mod)
и - Затем добавить каждую модель в список с помощью строки
list.append(lis, eval(paste0("mod_match_logit", i)))
library(MatchIt)
library(rlist)
lis = list()
for (i in 1:12){
mod = matchit(f.build("var_1", df_cov), method = "nearest", distance = "logit", data = df_no_na, caliper = caliper_val, ratio = 2)
assign(paste0("mod_match_logit", i), mod)
list.append(lis, eval(paste0("mod_match_logit", i)))
print(i)
}
lis
Однако из этой команды не выводится
Примечание. Я мог бы запустить логистическую регрессию несколько раз вместо алгоритма сопоставления (т. Е. Заменить строку mod = matchit(f.build("var_1", df_cov), method = "nearest", distance = "logit", data = df_no_na, caliper = caliper_val, ratio = 2)
с mod = glm(f.build("var_1", df_cov), data = df_no_na)
. Но в случае glm
это статистически неинтересно, поскольку каждый раз будет создаваться одна и та же модель, тогда как модель, созданная с помощью Matchit
, будет немного отличаться каждый раз.