0
注文日の列と電子メールに基づいて新しいdata_frame
を作成しようとしています。したがって、重複した電子メール(例:下の例では[email protected])がある場合は、電子メールをマージして、order_date変数をその横の新しい列に配置します。私は完全なDFでこれをしたい。これは多くのNAsを紹介しますが、私は後でその問題を解決します。別の列(メール)に基づく分割列(日付)
次のように私は、データフレームを持っている:私は取得したい何
Source: local data frame [6 x 4]
Groups: email [5]
email order_date `sum(price_excl_vat_euro)` `sum(total_qty)`
<chr> <date> <dbl> <int>
1 [email protected] 2016-09-05 140.48 2
2 [email protected] 2016-11-01 41.31 1
3 [email protected] 2016-09-18 61.98 1
4 [email protected] 2016-08-01 61.98 1
5 [email protected] 2016-08-02 61.98 1
6 [email protected] 2016-08-02 140.49 1
は(私は今のところ気にしない他の列)である:
email order_date1 order_date2
[email protected] 2016-09-05 NA
[email protected] 2016-11-01 NA
[email protected] 2016-09-18 NA
[email protected] 2016-08-01 2016-08-02
[email protected] 2016-08-02 NA
それを知ることが重要です注文数は1〜10(平均)の間で変動する可能性があります。私はtidyr
パッケージからspread
関数を試しました。しかし、それを働かせることはできませんでした。ヒントは非常に高く評価されています!例えば
おかげで、これは確かに動作します。他の列をどのように保つことができるか教えてください。アレンジするためにそれらを追加すると推測すると、仕事をする必要があります。 –
それらを合計して後でマージします(たとえば)。または:新しい質問を投稿し、正確な出力を指定してください(わからない) – lukeA
よく分けた後、私は注文が2回あると言います。したがって、そのユーザーからの電子メールは、order_dateが1行目date1と2行目date2に入力される2行として表示されます。複数の注文がある場合は、3行目の日付3に進みます。基本的に私はこれらの列をtransaction_idsに基づいて1にマージしたい –