【发布时间】:2020-12-22 05:27:10
【问题描述】:
我正在尝试在 RStudio 中使用 Merge() 函数。基本上我有两个有 5000 多行的表。它们都有相同数量的行。虽然没有相应的列可以合并。然而,这些行是有序且对应的。例如。 dataframe1 的第一行应与第一行 dataframe2 合并...第二行 dataframe1 应与第二行 dataframe2 合并,依此类推...
以下是它们的外观示例:
Dataframe1(df1):
+-------------------------------------+
| Name | Sales | Location |
+-------------------------------------+
| Rod | 123 | USA |
| Kelly | 142 | CAN |
| Sam | 183 | USA |
| Joyce | 99 | NED |
+-------------------------------------+
Dataframe2(df2):
+---------------------+
| Sex | Age |
+---------------------+
| M | 23 |
| M | 33 |
| M | 31 |
| F | 45 |
+---------------------+
注意:这只是一个缩小的示例。
我尝试在 RStudio 中使用合并功能,这是我所做的:
DFMerged <- merge(df1, df2)
但是,这会增加行数和列数。对于此示例,它返回 16 行和 5 列。 我从这个函数中遗漏了什么,我知道有一个 merge(x,y, by=) 参数,但我无法使用列来匹配它们。
我想要的输出是:
+----------------------------------------------------------+
| Name | Sales | Location | Sex | Age |
+----------------------------------------------------------+
| Rod | 123 | USA | M | 23 |
| Kelly | 142 | CAN | M | 33 |
| Sam | 183 | USA | M | 31 |
| Joyce | 99 | NED | F | 45 |
+-------------------------------------+--------------------+
我正在考虑在每个数据帧中添加额外的列,例如 row# 并以此匹配它们。
【问题讨论】:
-
dplyr::bind_cols(df1, df2)或只是cbind(df1, df2)。