【问题标题】:merging two dataframes based on values in a column根据列中的值合并两个数据框
【发布时间】:2023-01-13 21:29:59
【问题描述】:

我正在尝试合并两个数据框:

  • df1 (data): 有多个个体的数据,一列指定个体 (Bird) 被发现的位置 (Location)。因此存在多个具有相同位置名称的行 (fe.Ijzermonding_slikken)。

  • df2 (clean_lonlat):与 df1 具有相同的位置名称,但还包括来自该确切位置 (clean_naam) 的坐标 (lonlat$WKT)。每个位置只有一行坐标(再次参见 Ijzermonding_slikken)。

我想合并这两个数据集,以便在 df1 中包含对应于每个位置(从 df2 中取出)的坐标。

我想出了这个代码行:

data.coordinates <- merge(data, clean_lonlat, by.x="Location", by.y="clean_naam",all.x=TRUE)

但是,如果我尝试这样做,我会在坐标列中得到很多 NA 作为输出,因为每个数据帧中的行数不相等,并且代码只提供第一个 Location 和相应的坐标。有没有办法为每个位置添加坐标?

【问题讨论】:

标签: r dataframe merge


【解决方案1】:

你能试试左连接吗

data.coordinates <- data %>% left_join(clean_lonlat, by=c("Location"="clean_naam"))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2015-10-28
    • 2020-09-04
    • 2016-01-06
    相关资源
    最近更新 更多