[英]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.