#r #class #lapply #multiple-arguments
#r #класс #lapply #несколько аргументов
Вопрос:
У меня есть два подходящих объекта reg и reg1.
Я хочу запустить summary () для каждого из них без необходимости заново указывать все, только аргументы. Какой есть простой способ сделать это в общем варианте в R? Я пробовал что-то вроде этого:
lapply(c(reg, reg1), function(x) summary.default(x))
но обратите внимание, что
> class(reg1)
[1] "glm" "lm"
> class(reg)
[1] "lm"
независимо от запрошенного общего решения, это разные классы, которые возятся с этим конкретным случаем? это формат первого аргумента lapply.?
Редактировать: Разобрался
lapply(list(reg, reg1), summary)
но почему это должно быть list()?
Я вижу, что list (reg) вызывает lm.
почему c (reg, reg1) не является подходящим способом передачи аргументов?
Спасибо
Комментарии:
1.
lapply(list(reg,reg1), summary)
должно сработать, предоставляя вам список длиной 2. В чем проблема, с которой вы столкнулись?2. Чтобы было более понятно, что мешает в этом конкретном случае использование
c()
, uselist(reg, reg1)
, как сказал @RLave в своем комментарии.3. спасибо за это. Но почему c () не подходит?
4. @FacundoFerreira — ну, по определению, lapply работает только со списками
5. @FacundoFerreira
glm
иlm
объекты являются внутренними списками.c
объединяет эти два списка (каждый из которых содержит несколько элементов, см.str(reg1)
) в один список, что, очевидно, не то, что вы хотите. Вы хотите поместить их в список, и именно поэтому вам нужноlist
.