我正在尝试将纵向数据集与包含两个变量的横截面数据集合并。 ID 可用于合并。
我的两个数据框看起来像这样:
id <- c(1,2,3,4,5)
var1 <- c(1,1,2)
var2 <- c(2,2)
df1 <- c(id,var1,var2)
和
id <- c(1,3)
age <- c(22,24,26,58,60,62,35,37,39)
xvar <- c(5,5,7,1)
df2 <- c(id,age,xvar)
我使用以下代码组合了两个数据框:
the_df <- bind_rows(df1,df2) %>% group_by(id) %>%
arrange(id)
然而,它所做的只是在来自 df1 的所有变量中添加带有 NA 的新行,并且只添加 df2 中的值,如下所示:
|id|age|xvar|var1|var2|
|--|---|----|----|----|
| 1| 22| 5 |NA |NA |
| 1| 24| 5 |NA |NA |
| 1| 26| 5 |NA |NA |
| 1| NA| NA |1 | 1 |
| 2| 58| 7 |NA |NA |
| 2| 60| 7 |NA |NA |
| 2| 62| 7 |NA |NA |
| 2| NA| NA |2 |1 |
相反,我只希望 df2 中的值跟随面板数据中的 id,而不是添加另一个 id 行。结果应该是这样的:
|id|age|xvar|var1|var2|
|--|---|----|----|----|
| 1| 22| 5 |1 |1 |
| 1| 24| 5 |1 |1 |
| 1| 26| 5 |1 |1 |
| 2| 58| 6 |2 |1 |
| 2| 60| 6 |2 |1 |
| 2| 62| 6 |2 |1 |
希望大家能帮帮我!非常感谢。