2016-05-27 15 views
0

Rでデータフレームを反復処理し、別のデータフレームから取得した変数を各観測に追加する方法を探しています。私のデータは以下の通りです:別のデータフレームに従ってデータフレームに変数を追加する

私はユーザーが異なる製品で行ったレビューのデータフレームを持っています。たとえば、このデータフレーム内の観察には、user_id、product_id、time_of_review、length_of_review、およびレビューアクションの他の属性が含まれます。ユーザーは各商品に一度だけレビューを投稿できます(ある場合)。そのため、user_idとproduct_idの組み合わせは一意です。私はこのデータフレームに行き、別のデータフレームからいくつかの情報を完成させたい。この他のデータフレームには、ユーザーの属性の観測値が含まれています。各観測には、user_idとproduct_id、およびこのユーザーがこの製品に投稿したレビューに関する他のフィールドが含まれています。だから私は元のデータフレームを反復する必要があり、user_id-product_idの組み合わせごとに、別のデータフレームに行き、追加のフィールドを抽出してオリジナルに追加する必要があります。 どうすれば適切に行うことができますか?

+1

質問をする適切な方法は、問題を説明し、それを再現するためのサンプルデータ(入力、希望)を含めることです – HubertL

答えて

1

ベースRには、この目的のために使用できるmerge()という素晴らしい機能が含まれています。使用:

これは、これを行うための最も単純で最も慣用的な方法です。

これが役立ちますように!

+0

ありがとう!それは助けになる! 2つのデータフレームのサイズ適合に関する制限はありますか? df2ではdf1よりも多くのユーザーがいる可能性があります... – user3017075

+0

'merge()'はデフォルトで完全なケースになるので、より大きなデータフレームのすべてのレコードを保持したい場合は、パラメータall = T 'to' merge() 'を実行します。すべてのレコードを1つのレコードから保持したいが、それ以外のレコードは保持しない場合は、たとえば、ユーザーにレビューを行わずにユーザーのいないレビューをしたくない場合は、 'all.x = T'または' all.y = T'を使うことができます。ここでxとyと ' merge() 'と呼びます。 –

関連する問題