基于变量的多个观测值创建新数据集

时间:2018-03-29 19:39:08

标签: r

我是R的新手,我遇到了如何根据我现有的2个数据集创建新数据集的问题。

我有两个看起来像这样的数据集,具有不同/相同的MRN

  1. MRN年龄状况
  2. 222 50可能
  3. 345 64可能
  4. 555 75未知
  5. 888 56很可能
  6. 675 52未知
  7. 第二个数据集

    1. MRN年龄状况
    2. 222 50可能
    3. 446 35 unknown
    4. 555 75未知
    5. 888 56很可能
    6. 678 48 unknown
    7. 我想找到两个数据集之间匹配的相同MRN。所以我用过:

      MatchedMRN< - intersect(Tissue $ MRN,ctDNA $ MRN)

      但是现在我想创建一个具有匹配的MRN值的新数据集,还要创建原始2个数据集中与这些MRN值一起的所有其他变量/列。无论如何在R?

      中这样做

      谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用dplyr包中的连接来解决此类问题。这是一个例子:

library(dplyr)

df1 <- data.frame(index = c("1", "2", "3"), age= c(20,44,32))

df2 <- data.frame(index = c("1", "2", "4"), sex=c("M", "M", "F"))

df1and2 <-full_join(df1, df2, by="index")

使用此完全连接,您可以将df1中的值与基于索引的df2中的值进行匹配,我们将其用作“主键”。我们得到一个包含年龄,索引和性别列的数据框。如果密钥仅出现在一个数据框中,则对于来自另一个数据框的列,您将具有NA值。