簡體   English   中英

合並具有不同列數的數據框

[英]Merging of dataframes with different number of columns

我有這兩個數據框。

DF1:

在此處輸入圖片說明

DF2:

在此處輸入圖片說明

我希望我的輸出 DF 是 DF1 以及來自 DF2 的 X1 的值。 也就是說,這就是我希望輸出的樣子:

在此處輸入圖片說明

我曾嘗試使用合並和連接,但無法獲得所需的輸出。 主要問題似乎是由於 DF1 中的 ID 在 DF2 中有多個匹配項。 我得到的結果數據幀包含所有行,有點像這樣:

在此處輸入圖片說明

我該如何解決?

謝謝。

(對表格圖像表示歉意,我無法弄清楚如何即時創建表格)

您可以使用match返回DF2的第一個命中。

DF1$X1  <- DF2$X1[match(DF1$ID, DF2$ID)]

在第二個數據框中根據ID保留唯一值,然后加入:

library(tidyverse)
DF2 <- DF2 %>% 
  distinct(ID, .keep_all = TRUE) %>% 
  select(ID, X1)

res <- DF1 %>% 
  inner_join(DF2, by = "ID")

glimpse(res)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM