私は2つのデータフレーム(給与とピッチ)を持っています。給与は(選手の給料がわかったところで)約26,000件、ピッチング(選手の統計は19,000件あります)があります。明らかに、給与だけでなく特定の統計のデータを得ることはかなり複雑です。したがって、これは分かりやすいものです。マージ2が等しくない複数の条件によるデータフレーム
ここでは、Pitchingデータフレームに給与カラムを追加したいが、一致するもの(同じプレーヤー、同じ日付)にのみ追加する。
プレイヤーの名前(給与データフレームから)=プレーヤー名(ピッチングデータフレームから)と年(給与データフレームから)=年(ピッチングデータフレームから)=ピッチングデータフレームに給与を挿入するそうでない場合はN/Aと書いてください
そして、このようにして、N/Aで行を削除して、私が望むデータできれいなシートを作ることができます。
私のような何か試してみました:
full_join(Salaries,Pitching, by="salary") %>%
mutate(condition = (Salaries$playerID == Pitching$playerID & Salaries$yearID = Pitching$yearID))
CombineDf <- merge(y=Salaries, y=Pitching, by=Pitching$playerID)
joined = cbind(Salaries[match(names(Pitching), Salaries$playerID),], Pitching)
Pitching$Salary <- ifelse(Salaries$playerID >= Pitching$playerID & Salaries$yearID >= Pitching$yearID, Salaries$salary, "N/A")
をしかし、悲しいことに、何も正常に動作しませんでした。この問題を解決するのを手伝ってくれたら本当にうれしいです。
感謝
*しかし、悲しいことに、何も正しく機能しなかった* ...これはどういう意味ですか?エラー?望ましくない結果はありますか? – Parfait
あなたのコメントをいただきありがとうParfais。うん、私は2 dfの長さが同じではないというエラーになります。 –