R:如何根据另一个具有不同长度的数据框中的成对值向数据框中添加一列?

R: How do I add a column to a dataframe based on paired values in another dataframe with different length?

在 R 中,我未能成功合并到不同长度的数据帧,这些数据帧与名为 id 的列匹配。有谁知道如何解决这个问题?

输入:

df1:

id  group
1   x
2   y
3   x

df2:

id  day
1   0   
1   1   
1   2
2   0 
2   1
2   2
3   0 
3   1
3   2

所需的输出(df2 添加了基于 df1 的组列):

id  day   group
1   0     x
1   1     x
1   2     x
2   0     y
2   1     y
2   2     y
3   0     x
3   1     x
3   2     x

使用 left_join

library(dplyr)
df_joined<- df2 %>%
   left_join(df1, by="id")

我认为带有“id”变量规范的简单合并函数效果很好

merge(df1,df2,by="id")

使用 dplyr 包中的 left_join:

图书馆(dplyr)

数据 <- left_join(df1,df2, by="id")