1
私はあなたに愛された助けが必要です...R:2つの重複データセットの値を接続/割り当て
私は2つのデータセットを持っています。 1人がtradeIDに人名を割り当て、もう1人が(同じ種類の)tradeIDに割り当てます。私は、誰がどの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するためにどの属する名前を知っているだろう。
- オーバーラップ要素(ボブ& 210)の異なる数を有する
- TradeIDs有する:(下記のようになります)
personID Name 123 Paul 210 Bob 988 Jack
困難が
結果異なるpersonIDと名前への複数の接続tradeID 8)
- 重複は100%である必要はありません(ジャック& 988)
アイデア&裁判
しようとしました- :データフレームの比較ライブラリを& &リシェイプライブラリ(のdidnどの有用な方法も提供しない)
- アイデア:personIDと名前のベクトルを作成する& &ベクターには、例えば、この問題を解決する方法はあり& &が最高の重複
とベクトルを接続する(ベクトルを作成する方法を知りませんでした)データフレーム比較による?
ありがとうございました!私はどうだろう何
補足として、あなたの回答が「PB&J」になるということは私を幸せにします。 –
ねえgsk3!早い返信をありがとう!残念ながら、Bobの7の値は誤字ではありませんでした。あなたの変更では、名前の値が異なっているので、なぜ解けるのですか?ちょうどデータを見るだけで、BobがNrであるという最も論理的な答えです。これは7と8が重なっているためです(210の3つの値の66%)。 988の場合、Bobは1つだけ重複します(より大きな "ベクトル"の50%)。マージは、personIDから名前へのすべての可能なパスをtradeIDを使って提供します...私の問題が何であるか知っていますか? –
アルゴリズムを決定する必要があります。それは50/50のネクタイであるため、988はどのように割り当てられるべきですか?完全なマージテーブルを見るには 'mgd < - merge(datA、datB、all = TRUE) 'を使い、personIDで名前を集計してカウントを取得します。 –