1
我需要你心愛的幫助...R:連接/分配兩個重疊數據集的值
我有兩個數據集。一個人將姓名分配給交易ID,另一個將人員ID分配給(相同種類)的交易ID。我想知道,哪個人有哪個ID。
數據:
personID tradeID Name tradeID
123 10 | Bob 7
123 5 | Bob 8
210 1 | Jack 3
210 7 | Jack 11
210 8 | Paul 5
988 11 | Paul 10
988 8 |
問題:
我想找出tradeIDs的重疊/交叉點,所以我會知道哪個名字屬於哪個PERSONID。
結果(應該像以下)
personID Name
123 Paul
210 Bob
988 Jack
難點:
- 重疊具有不同數量的元件(鮑勃& 210)
- TradeIDs具有多個連接到不同的personID和名稱( tradeID 8)
- 重疊不必是100%(傑克& 988)
思想&試驗
- 嘗試:數據幀比較庫& &的重塑庫(沒提供任何有用的方法)
- 想法:創建personID和名稱向量& &比較向量(不知道如何使矢量)& &向量具有最高重疊
連接是否有例如解決這個問題的方法通過數據幀比較?
非常感謝您的幫助!
作爲一個方面說明,事實上,您的答案是「PB&J」讓我感到高興。 –
嘿gsk3!感謝您的早日回覆!不幸的是,鮑勃的7值不是一個錯字錯誤。在你的修改中,名稱值變得截然不同,所以這就是爲什麼可以解決的問題---從查看數據來看,這是Bob是Nr的最合理的答案。 210,因爲它重疊7和8(210的3個值的66%)。對於988鮑勃只重疊1(較大的「矢量」的50%)。合併爲您提供從personID到tradeID的所有可能路徑...您知道我的問題是什麼嗎? –
那麼你需要決定一個算法。 988應該分配什麼,因爲它是一個50/50的領帶?您可以使用'mgd < - merge(datA,datB,all = TRUE)'來查看完整的合併表,並從那裏計算出personID的名稱以獲得計數。 –