从一个数据集中提取列并使用 R 中第三个数据集中的列创建另一个数据集
Extracting a column from one dataset and creating another dataset with columns from a third dataset in R
所以我有这两个数据集:
ID DOB ID2 count
1 4083 2007-10-01 3625 5
2 4408 2008-07-01 3603 2
3 4514 2007-07-01 3077 3
4 4396 2008-05-01 3413 5
5 4222 2003-12-01 3341 1
6 4291 2000-07-01 3201 5
7 4581 2005-07-01 3836 1
8 4487 2007-01-01 3264 5
9 4916 2009-10-01 3825 1
10 4277 2000-04-01 3381 2
ID DOB score1 score2 score3 score4 score5 score6
4291 2000-07-01 2 5 2 2 1 2
4323 2000-07-01 3 3 1 4 2 5
4408 2008-07-01 4 2 5 5 3 5
4222 2003-12-01 2 1 3 2 3 3
4581 2005-07-01 5 1 5 2 3 1
4005 2003-06-01 1 4 2 4 5 3
4718 2009-02-01 2 3 1 5 5 5
4396 2008-05-01 3 5 2 2 2 5
4924 2008-02-01 5 5 4 5 5 4
4083 2007-10-01 4 5 1 3 3 4
4099 2000-05-01 4 3 1 2 1 2
4277 2000-04-01 2 2 1 3 1 1
4487 2007-01-01 2 5 2 4 3 5
4514 2007-07-01 1 3 4 3 1 5
4003 2005-07-01 3 3 4 1 1 3
4366 2008-12-01 4 4 4 4 3 4
4790 2009-07-01 1 3 1 3 1 4
4643 2002-03-01 3 2 3 3 4 3
4475 2009-05-01 1 4 3 3 3 3
4916 2009-10-01 5 1 3 1 2 2
在 dataset2 中有来自 dataset1 的 ID 和 Dob,以及我不感兴趣的其他行 ID。我想做的是提取两个数据集中存在的 ID 并创建一个数据集"ID2" 列来自数据集 1,其他列来自数据集 2。像这样:
ID DOB ID2 score1 score2 score3 score4 score5 score6
4394 2004-11-01 3625 2 2 4 2 2 3
4181 2002-04-01 3603 3 1 3 2 2 5
4942 2001-08-01 3077 3 3 5 3 1 5
4765 2003-05-01 3413 1 5 5 2 3 2
4517 2003-03-01 3341 1 2 1 4 1 5
4905 2002-12-01 3201 5 2 4 1 1 5
4636 2004-07-01 3836 3 1 1 4 4 4
4179 2004-08-01 3264 5 2 5 5 4 2
4448 2007-11-01 3825 2 3 5 4 2 4
4218 2006-04-01 3381 1 5 3 4 5 3
我认为合并功能在这里发挥作用,但对于我来说,我似乎无法让它发挥作用,所以您能给我的任何帮助都将不胜感激。
这是否满足您的需求?
merge(df1, df2, by.x=c("ID","DOB"))
所以我有这两个数据集:
ID DOB ID2 count
1 4083 2007-10-01 3625 5
2 4408 2008-07-01 3603 2
3 4514 2007-07-01 3077 3
4 4396 2008-05-01 3413 5
5 4222 2003-12-01 3341 1
6 4291 2000-07-01 3201 5
7 4581 2005-07-01 3836 1
8 4487 2007-01-01 3264 5
9 4916 2009-10-01 3825 1
10 4277 2000-04-01 3381 2
ID DOB score1 score2 score3 score4 score5 score6
4291 2000-07-01 2 5 2 2 1 2
4323 2000-07-01 3 3 1 4 2 5
4408 2008-07-01 4 2 5 5 3 5
4222 2003-12-01 2 1 3 2 3 3
4581 2005-07-01 5 1 5 2 3 1
4005 2003-06-01 1 4 2 4 5 3
4718 2009-02-01 2 3 1 5 5 5
4396 2008-05-01 3 5 2 2 2 5
4924 2008-02-01 5 5 4 5 5 4
4083 2007-10-01 4 5 1 3 3 4
4099 2000-05-01 4 3 1 2 1 2
4277 2000-04-01 2 2 1 3 1 1
4487 2007-01-01 2 5 2 4 3 5
4514 2007-07-01 1 3 4 3 1 5
4003 2005-07-01 3 3 4 1 1 3
4366 2008-12-01 4 4 4 4 3 4
4790 2009-07-01 1 3 1 3 1 4
4643 2002-03-01 3 2 3 3 4 3
4475 2009-05-01 1 4 3 3 3 3
4916 2009-10-01 5 1 3 1 2 2
在 dataset2 中有来自 dataset1 的 ID 和 Dob,以及我不感兴趣的其他行 ID。我想做的是提取两个数据集中存在的 ID 并创建一个数据集"ID2" 列来自数据集 1,其他列来自数据集 2。像这样:
ID DOB ID2 score1 score2 score3 score4 score5 score6
4394 2004-11-01 3625 2 2 4 2 2 3
4181 2002-04-01 3603 3 1 3 2 2 5
4942 2001-08-01 3077 3 3 5 3 1 5
4765 2003-05-01 3413 1 5 5 2 3 2
4517 2003-03-01 3341 1 2 1 4 1 5
4905 2002-12-01 3201 5 2 4 1 1 5
4636 2004-07-01 3836 3 1 1 4 4 4
4179 2004-08-01 3264 5 2 5 5 4 2
4448 2007-11-01 3825 2 3 5 4 2 4
4218 2006-04-01 3381 1 5 3 4 5 3
我认为合并功能在这里发挥作用,但对于我来说,我似乎无法让它发挥作用,所以您能给我的任何帮助都将不胜感激。
这是否满足您的需求?
merge(df1, df2, by.x=c("ID","DOB"))