我有幾個具有以下模式的大型資料框,df1:
date cat value code
2022-07-10 A 0.6 12Az
2022-07-10 B 0.5 131x
2022-07-12 C 0.5 55tg
2022-07-18 A 0.1 fs12
2022-07-19 C 0.6 55tg
2022-07-19 B 0.6 zz12
df2:
date cat allocation code
2022-07-10 A 100 12Az
2022-07-10 B 450 131x
2022-07-12 C 220 55tg
2022-07-18 A 360 fs12
2022-07-19 C 221 55tg
2022-07-19 B 485 zz12
我想做的是使用匹配函式之類的東西將 df2 中的“分配”列帶入 df1,該函式與“日期”和“貓”列中的資料相匹配。
我希望它會像寫這樣的東西一樣簡單:
df1$allocation <- df2$allocation[match(df1$date, df2$date & df1$cat, df2$cat)]
但不幸的是,這只會給我帶來錯誤。有人對如何解決這個問題有任何建議嗎?
uj5u.com熱心網友回復:
聽起來像是該dplyr::left_join()功能的作業。這將類似于
library(dplyr)
left_join(df1, df2, by=c("date"="date", "cat"="cat"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/529076.html
標籤:r数据框匹配
上一篇:將值從一行保留到下一行
