ユーザーをグループ化して、次のようなルビー ハッシュのデータから散布図を作成しようとしています。
[{"userid"=>"1275", "num"=>"1", "amount"=>"15.00"},
{"userid"=>"1286", "num"=>"3", "amount"=>"26.67"}, .... ]
基本的に、num の値は 1 から 4 までの整数で、amount は最大 100 までです。最初に num でグループ化してから、4 つの新しいビンのそれぞれを合計 16 のグループの量 (0-20、20-50、50-80、80+) でさらに分割する必要があります。
最終製品は、ハッシュの配列、または配列の配列である必要があります。これをビューに渡して、d3 にプロットすることができます。私は機能的なバージョンを持っており、case ステートメントと基本的なフロー制御条件を使用してそれを行いましたが、よりエレガントで短いコードを作成するために group_by 句を使用してこれを行いたいと考えています。
group_by のドキュメントがよくわからないので、助けていただければ幸いです。
編集:出力は多かれ少なかれこのようなものになるはずです
[[{"userid"=>"1", "num"=>"1", "amount"=>"15.00"}
{"userid"=>"2", "num"=>"1", "amount"=>"19.00"}],
[{"userid"=>"3", "num"=>"1", "amount"=>"25.00"}
{"userid"=>"4", "num"=>"1", "amount"=>"30.00"}],
[{"userid"=>"5", "num"=>"2", "amount"=>"15.00"}]]
基本的に、キーと値のペアの 16 個のサブ配列を含む配列です。