在 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)
我有两个 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)