検索してみると、同じ問題が見つかりましたが、同じ問題は見つかりませんでした。これは多少一般的なはずなので、おそらくちょうどそれが欠けているようです。異なる機能セットを持つ複数のデータフレームをマージする
私は複数のCSVファイルを持っていますが、私はread.tableで読み込んでいます。私は同じID列を持つ行が一緒にcbind()され、残りは空白のままになるように、これらを一緒にマージしたいと思います。以下の例は、おそらくより良い
ファイル1
UserID val1 val2
1 2
2 1 3
ファイル2
UserID col1
1 a
3 z
ファイル3
UserID feat1 feat2
1 Hi Hello
3 Moshi Moshi
望ましい結果
UserID val1 val2 col1 feat1 feat2
1 2 a Hi Hello
2 1 3
3 z Moshi Moshi
を示しています210
欠損値のためにゼロを追加したくありません。可能であれば、NAsで何かを埋めることを望んでいません。
私は、UserID列でデータセット(すべての場合で3+、平均10)を結合し、他のすべてを同じにしたいだけです。
私は確かにこれのためのツールがあります、私はそれを見つけることができません。
私が考えることができる最も簡単な方法は次のとおりです: 'df [is.na(df)] = ''' これは、すべての「NA」値がデータセット内で同じものとして扱われることを前提としています。そうでなければ、各データフレームが情報を失わないように異なる「NA」をコードする必要があります。 – bringtheheat
これを行う正しい方法は、一致しない位置に「NA」という結果になります。これが正しい値です。他のものが必要な場合は、それらを置き換えるための第2のステップが必要です。しかし、文字列と数値列が混在している場合は、すべて同じ値に置き換える必要があるのは無意味です。だからあなたはNAを守る方が良いです。 – joran