我有两个数据集。我想将dataset-2的财富变量添加到职业变量/列旁边的dataset-1。数据集-2是从户主那里收集的,一个回答来自一个家庭。然而,数据集-1是从家庭中的所有妇女收集的。因此,dataset-1具有更多的响应。
dataset-1:女性数据集(总共8678个响应/行)
Women_id household_id BMI Education Occupation
101 1 1 101 1 22.5 1 3
101 1 1 101 2 28.6 3 5
101 1 1 101 3 19.6 2 3
101 1 1 101 3 20.1 2 2
101 1 1 101 4 26.8 3 3dataset-2:家庭数据集(总计6784个响应/行)
household_id wealth
101 1 2
101 2 1
101 3 2
101 4 4我想将财富变量添加到基于household_id的dataset-1。我已经尝试过dplyr的marge函数。
joined_df <- merge(dataset_1, dataset_2, by.x = "household_id", all.x = TRUE, all.y = FALSE )然而,这两个数据集相加后,财富的价值显示为NA。
Women_id household_id BMI Education Occupation Wealth
101 1 1 101 1 22.5 1 3 NA
101 1 1 101 2 28.6 3 5 NA
101 1 1 101 3 19.6 2 3 NA
101 1 1 101 3 20.1 2 2 NA
101 1 1 101 4 26.8 3 3 NA我想要如下所示
Women_id household_id BMI Education Occupation Wealth
101 1 1 101 1 22.5 1 3 2
101 1 1 101 2 28.6 3 5 5
101 1 1 101 3 19.6 2 3 2
101 1 1 101 3 20.1 2 2 2
101 1 1 101 4 26.8 3 3 4发布于 2020-08-08 13:40:57
由于这两个数据集具有相同的household_id列,因此您可以这样做
joined_df <- dplyr::left_join(dataset_1, dataset_2, by = "household_id")使用merge()将是
joined_df <- merge(dataset_1, dataset_2, by = "household_id", all.x = TRUE)https://stackoverflow.com/questions/63311596
复制相似问题