rbind/bind_rows 两个不相等 data.frames

rbind/bind_rows two unequal data.frames

下面,我想知道如何rbinddat2dat1这样我才能达到我下面的Desired_output

请注意,无需添加新列。 (查看所需的输出)

fit <- lm(mpg ~ hp, data = mtcars)

dat1 <- as.data.frame(coef(summary(fit)))

dat2 <- data.frame(Estimate = 2, pr = 0.1234567901, row.names = "Q")

Desired_output =
"
               Estimate Std. Error   t value     Pr(>|t|)
(Intercept) 30.09886054  1.6339210 18.421246 6.642736e-18
hp          -0.06822828  0.0101193 -6.742389 1.787835e-07
Q            2.00000000         NA        NA 0.1234567901
"

可能的解决方案,需要 names(dat2)[2] <- names(dat1)[4] 在绑定行之前(列名不匹配):

library(tidyverse)

fit <- lm(mpg ~ hp, data = mtcars)

dat1 <- as.data.frame(coef(summary(fit)))

dat2 <- data.frame(Estimate = 2, pr = 0.1234567901, row.names = "Q")

names(dat2)[2] <- names(dat1)[4] # <--- This is CRUCIAL

dat1 %>% 
  bind_rows(dat2)

#>                Estimate Std. Error   t value     Pr(>|t|)
#> (Intercept) 30.09886054  1.6339210 18.421246 6.642736e-18
#> hp          -0.06822828  0.0101193 -6.742389 1.787835e-07
#> Q            2.00000000         NA        NA 1.234568e-01

在基数 R 中:

rbind(dat1, Q = list(dat2[1], NA, NA, dat2[2]))

               Estimate Std. Error   t value     Pr(>|t|)
(Intercept)    30.09886  1.6339210 18.421246 6.642736e-18
hp          -0.06822828  0.0101193 -6.742389 1.787835e-07
Q                     2         NA        NA    0.1234568