lapply в R, одна и та же функция с разными аргументами

#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() , use list(reg, reg1) , как сказал @RLave в своем комментарии.

3. спасибо за это. Но почему c () не подходит?

4. @FacundoFerreira — ну, по определению, lapply работает только со списками

5. @FacundoFerreira glm и lm объекты являются внутренними списками. c объединяет эти два списка (каждый из которых содержит несколько элементов, см. str(reg1) ) в один список, что, очевидно, не то, что вы хотите. Вы хотите поместить их в список, и именно поэтому вам нужно list .