Как венить :: взглянуть или суммировать несколько филогенетических ГЛС и сохранить как тибл? - PullRequest
0 голосов
/ 09 октября 2018

У меня есть несколько филогенетических GLS, и я хотел бы найти лучший способ суммировать результаты.Я не использую циклы для получения нескольких PGLS, так как я собираю несколько признаков из разных матриц.Пример ниже:

library(caper) # for the pgls method
library(dplyr)
library(broom)
library(purrr)

data(shorebird)
birdie <- comparative.data(shorebird.tree, shorebird.data, Species)

pgls.EggVsMass <- pgls( Egg.Mass ~ M.Mass, birdie)
pgls.EggVsClutch <- pgls( Egg.Mass ~ Cl.size, birdie)

SUM.EggVsMass <- summary(pgls.EggVsMass)$coefficients
SUM.EggVsClutch <- summary(pgls.EggVsClutch)$coefficients

GL <- mget(ls(pattern = "SUM.*"))

tidier <- GL  %>%  purrr::map(., glance)

Но объект 'tidier' ​​не простой тиббл, и я не могу его правильно сохранить.Как я могу улучшить эту стратегию и получить подсказку с информацией в сводке или коэффициентах?

Аналогичный код, но для lm работал, поэтому я хотел бы решить PGLS в аналогичномпуть.Использование map_df в приведенном выше случае не работает.

LMTRAIT <- names(data)[-1] %>% 
  paste('trait1 ~', .) %>%    
  map(lm, data) %>% 
  purrr::map_df(., broom::glance) # 
as_tibble(LMTRAIT)

1 Ответ

0 голосов
/ 09 октября 2018

Я нашел решение этой проблемы с помощью map_chr :: repurrrsive

Если я хочу перехватить каждую черту, мне нужно будет получить

GL$SUM.EggVsClutch[1]
GL$SUM.EggVsMass[1]

этос map_chr

library(repurrrsive)
as_tibble(map_chr(GL, 1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...