【问题标题】:Combine multiple datasets based on condition [duplicate]根据条件组合多个数据集[重复]
【发布时间】:2020-05-13 22:35:11
【问题描述】:

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

下面是一个示例脚本,标识符是''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

提前致谢! :)

【问题讨论】:

  • 看看merge()函数。

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


【解决方案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

【讨论】:

    猜你喜欢
    • 2021-03-23
    • 2020-03-30
    • 2019-11-03
    • 2020-08-05
    • 2017-04-08
    • 2020-10-13
    • 2017-08-29
    • 2021-08-23
    • 1970-01-01
    相关资源
    最近更新 更多