Gdy używam broom:::glance
w następujący sposób:Korzystanie `miotły ::: glance` w przepływie pracy dplyr z jednego obiektu lm nie
library(dplyr)
library(broom)
mtcars %>% do(model = lm(mpg ~ wt, .)) %>% glance(model)
uzyskać
Error in complete.cases(x) : invalid 'type' (list) of argument
Jednak, kiedy dodaj group_by
:
mtcars %>% group_by(am) %>% do(model = lm(mpg ~ wt, .)) %>% glance(model)
nie daje oczekiwanych rezultatów:
Source: local data frame [2 x 12]
Groups: am
am r.squared adj.r.squared sigma statistic p.value df logLik AIC BIC deviance df.residual
1 0 0.589 0.565 2.53 24.4 1.25e-04 2 -43.5 93.1 95.9 108.7 17
2 1 0.826 0.810 2.69 52.3 1.69e-05 2 -30.2 66.4 68.1 79.3 11
Czy brakuje mi czegoś tutaj, czy jest to błąd w dplyr/miotle?
Czy może to być związane z listą długości 1? 'biblioteka (tidyr); unnest (lista (mtcars, mtcars), gr)%>% group_by (gr)%>% do (model = lm (mpg ~ wt,.))%>% rzut oka (model)' działa – akrun
Rzeczywiście wydaje się, że nie działa, gdy lista wyjściowa 'do' jest po prostu listą długości jeden. –
Dobry połów: to dlatego, że 'do' na niezgrupowanym tbl_df nie zwraca 'rowwise_df', więc metoda' glance.rowwise_df' nie zostanie zastosowana. Otworzyłem [problem dla tego] (https://github.com/dgrtwo/broom/issues/77) i wkrótce go naprawię! –