【问题标题】:Extracting a column from one dataset and creating another dataset with columns from a third dataset in R [duplicate]从一个数据集中提取一列并使用R中第三个数据集的列创建另一个数据集[重复]
【发布时间】:2015-08-20 10:53:45
【问题描述】:

所以我有这两个数据集:

    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 

我认为合并功能在这里发挥了作用,但对于我的生活来说,我似乎无法让它工作,所以您可以给我的任何帮助都将不胜感激。

【问题讨论】:

  • 在预期的输出中,有4394 ID,但在初始数据集中,它不存在。
  • @googleplex,我在您的第一个 data.frame 中(也没有在您的第二个)中看到 ID=4394,因此很难理解所需的输出...
  • 哎呀!我很抱歉,不知道这是怎么发生的。马上修复
  • 查看merge(或任何其他函数)的帮助页面是了解其工作原理的好方法,因为其中有示例。试试?merge

标签: r merge dataframe dataset


【解决方案1】:

这是否回答了您的需求?

 merge(df1, df2, by.x=c("ID","DOB"))

【讨论】:

  • 如果是的话,这是一个主要的欺骗。我把我的锤子放在哪里...... span>
  • @ davidarenburg,我确实认为你可以把它拉出来; - ) span>
  • 似乎已完成的技巧。谢谢!不确定我用合并功能做错了什么。 span>
  • 我的歉意是显然复制一个问题。我要删除它吗? span>
  • @ googleplex101请不要删除这个问题。它将添加到副本中,并使其更容易跟踪问题。 span>
猜你喜欢
  • 2011-02-16
  • 2016-07-19
  • 2018-04-25
  • 1970-01-01
  • 1970-01-01
  • 2020-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多