在 R 中绑定一个多于 1 行的 tibble 和另一个只有一行的 tibble

Binding a tibble with more than 1 rows and another one with only one row in R

我有两个 tibbles:第一个不止一排,第二个只有一排。

我想对它们进行 col 绑定,为此,我希望第二个与第一个具有相同的行数。

我可以用这个技巧来完成这个操作:

for (i in colnames(df2)) {
  df1[[i]] <- df2[1,i]
}

但是,这对我来说听起来像是一种解决方法。有没有 "tidier" 的方法(我的意思是,使用 tidyverse)?

您可以直接选择 cbind(df1,df2),它会展开最短的 data.frame 以匹配最长的

的行数

如果你想使用 dplyr,你会想要一个交叉连接...但是 dplyr 还没有交叉连接。

您可以在两个表上创建一个虚拟列,并在其上 inner_join:

df1 %>% 
  mutate(dummy_id=1) %>% 
  inner_join(df2 %>% mutate(dummy_id=1)) %>% 
  mutate(dummy_id=NULL)