【问题标题】:Binding a tibble with more than 1 rows and another one with only one row in R在R中绑定一个超过1行的小标题和另一个只有一行的小标题
【发布时间】:2017-03-17 00:27:19
【问题描述】:

我有两个 tibbles:第一个多行,第二个正好一行。

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

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

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

但是,这对我来说听起来像是一种解决方法。有没有一种“更整洁”的方式来做到这一点(我的意思是,使用 tidyverse)?

【问题讨论】:

  • 只是cbind(df1,df2)

标签: r tidyverse


【解决方案1】:

你可以选择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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多