根据条件合并多个数据集

时间:2020-01-28 13:34:41

标签: r for-loop if-statement dataset conditional-statements

我正在尝试根据条件合并两个数据集。这将使我更容易分析所有变量是否都在1个数据集中。这两个数据集都具有变量(列)和标识符变量(也是列)形式的信息。两个数据集中都存在此标识符变量。基于此Identifier变量,我想将单元格中的所有特定信息从一个数据集复制到另一个数据集。我已经尝试过使用for循环,if-then-else函数和mutate-funtion。

下面是一个示例脚本,标识符是“ review.id”,所需的结果可以在底部找到。我具有R的基本经验,但是合并多个数据集对我来说是新的。

review.id <- c(1, 2, 3)
car <- c('Audi','Volkswagen','Skoda')
house.value <- c(143000, 187000, 223000)
df1 <- data.frame(review.id,car,house.value)

View(df1)

review.id <- c(3, 1, 2)
city <- c('Berlin','Sydney','Rio')
kids <- c(3, 0, 1)
df2 <- data.frame(review.id,city,kids)

View(df2)

#Desired Result (df3)
#review.id car         house.value city    kids
#1         Audi        143000      Sydney  0
#2         Volkswagen  187000      Rio     1
#3         Skoda       223000      Berlin  3

提前谢谢! :)

1 个答案:

答案 0 :(得分:1)

merge函数使这很容易:

merge(df1, df2, by = "review.id")

  review.id        car house.value   city kids
1         1       Audi      143000 Sydney    0
2         2 Volkswagen      187000    Rio    1
3         3      Skoda      223000 Berlin    3