r: select (everything ()) не работает с метлой :: augment для результатов моделирования - PullRequest
0 голосов
/ 01 февраля 2019

Я хочу создать чистый фрейм данных с перезаписанными столбцами из результатов линейной модели lm, моя конечная цель - написать фрейм данных, чтобы превзойти его в графике и проверять остатки модели.Во-первых, пример данных:

df1 <- cbind.data.frame(dt = seq.Date(as.Date('2019-01-01'),
                                      as.Date('2019-01-10'),
                                      by = 'day' ),
                        depVar = rnorm(10,2,1),
                        indepVar1 = rnorm(10,4,3),
                        indepVar2 = rnorm(10,7,2)
        )

Теперь запустите модель:

modRes <- lm(depVar~ indepVar1, data=df1)

avf1 <- broom::augment(modRes)

library(dplyr)

avf1 <- avf1 %>% 
    # drop what we don't need
    select(-c(.se.fit, .hat, .sigma, .cooksd, .std.resid)) %>% 
    cbind(df1) 

Вышеописанное работает хорошо, но я хочу добавить еще одну трубу %>% с select(dt, everything()), поэтому яможно изменить порядок столбцов.Ниже показано сообщение об ошибке:

avf1 <- avf1 %>% 
  select(-c(.se.fit, .hat, .sigma, .cooksd, .std.resid)) %>% # drop what we don't need
  cbind(df1) %>% 
  select(dt, everything())

Error: Can't bind data because some arguments have the same name
Call `rlang::last_error()` to see a backtrace

Почему это не удается?

1 Ответ

0 голосов
/ 02 февраля 2019
avf1 <- modRes %>%
  augment() %>% 
  select(-c(.se.fit, .hat, .sigma, .cooksd, .std.resid)) %>% 
  bind_cols(df1) %>% 
  select(dt, everything())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...