【问题标题】:Combining two datasets to match each - R [duplicate]组合两个数据集以匹配每个 - R [重复]
【发布时间】:2021-08-11 15:30:55
【问题描述】:

我有两个这样的数据集:

  1. 按国家/地区划分的人口
Country  Population

America      value
Argentina    value
Australia    value
Brazil       value
Japan        value
...
  1. 按国家/地区划分的陆地面积
Country    Landmass

Argentina   value
Mexico      value
Uruguay     value
Maldives    value
...

每组的行数和国家名称的数量都不同,有没有办法将这两个数据结合起来,(​​将 Landmass 列添加到人口集中的各个国家)无论该国家是否是'不存在于人口集中,仅与存在的人口组合。

【问题讨论】:

  • 请提供一个实际例子。不要使用单词 value 来代替。还将其显示为 dput(X) 的输出,其中 X 是输入。请参阅r 标签页顶部的指南。
  • 这很容易用merge完成。

标签: r join merge


【解决方案1】:

我认为您所追求的是来自文档的 left_join:

https://dplyr.tidyverse.org/reference/join.html

返回来自 x 的所有行,以及来自 x 和 y 的所有列。即

pops <- data.frame(
  "Country"  = c("America", "Argentina", "Australia","Brazil", "Japan"),
  "Population" = seq(100, 200, 25)
)

landmass <- data.frame(
  "Country"  = c("Argentina", "Mexico", "Uruguay","Maldives"),
  "Landmass" = seq(1250, 2000, 250)
)

dplyr::left_join(pops, landmass, by = c("Country"= "Country"))

产量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 2019-07-11
    相关资源
    最近更新 更多