我希望创建一个干净的数据帧与线性模型结果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为什么这是失败的?
发布于 2019-02-02 06:21:44
avf1 <- modRes %>%
augment() %>%
select(-c(.se.fit, .hat, .sigma, .cooksd, .std.resid)) %>%
bind_cols(df1) %>%
select(dt, everything())https://stackoverflow.com/questions/54486931
复制相似问题