簡體   English   中英

R - 匹配兩個數據幀中的兩列

[英]R - Match two columns in two dataframes

我正在嘗試操作滿足某些條件的 dataframe。

主要有dataframe df1:

Title             Artist        Warner    Sony    Universal
Break My Heart    Dua Lipa      0         0       0
Daisies           Katy Perry    0         0       1
Nicotine          Chef`Special  1         1       0
... 1 000 000+ rows

df2:

Label       Title            Artist        Operation
Warner      Nicotine         Chef`Special  0
Sony        Break my Heart   Dua Lipa      1
... 100+ rows

Df1 包含一些錯誤。 在這種情況下,尼古丁的 Warner 值為 1,而它應該為 0。我希望從兩個數據幀中匹配 Title 和 Artist,然后根據 df2 將 label 值更改為 1 或 0。

在這種情況下,它應該看到 Chef'Special 的尼古丁在 df1 和 df2 中,它應該將 df1$Warner 更改為 0。 Dua Lipa 的 Break My Heart 應該使用相同的方法將 df1$Sony 設置為 1。

我一直在考慮如何解決這個問題,但我完全不知所措。

這是使用合並的一個選項,沒有您的數據,因此以mtcars為例:

df1 = head(mtcars, 5)
df2 = subset(head(within(df1,mpg <-  mpg * 2),2), select = "mpg")


df3 <- merge(df1, df2, by = 0, all.x = TRUE)
df3 <- within(df3, mpg <- ifelse(is.na(mpg.y), 
                              mpg.x, mpg.y))[-(2:3)]

暫無
暫無

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

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