2016-09-13 5 views
-1

これは 'R'ワールドのnoobの質問です。私は検索を試みましたが、近づいた解決策がいくつかありました(たとえば、集計、など)が、私の問題にそれを適用するための理解が欠けていました。誰かが私をより詳細に案内できるかどうか本当に感謝します。データフレームから得られたデータのすべてのサブセットに対して一連の操作を実行する

仮定のデータセット

Name Wheels Color Mileage seat_capacity 
1  2  Red  70   2 
2  3  Black 60   7 
3  4  Blue  12   5 
4  4  White 15   6 
5  3  Yellow 45   6 
6  2  Green 70   2 
7  3  Silver 45   6 
8  6  Silver 5   4 
9  14  Red  12   2 
10  2  Black 70   7 
11  4  Blue  70   5 
12  3  White 60   6 
13  4  Yellow 12   6 
14  4  Green 15   2 

私は当初、スプリットを使用して色に基づいてデータのサブセットを作成しました。私はより多くの操作を行うことになる作成したサブセットのそれぞれについて

color <- split(df,df$color) 

各サブセットにおける車輪の最低数.....などで車の中で最高の燃費と車を見つける

  • を例えば

私は後半のすべての規則も書いています。私はの部分集合のすべての操作を可変色ので実行できる方法を見つけようと苦労しています。

ご協力いただければ幸いです。

+1

'色の各要素をループにlapply'を使用します。データのサブセットに必要なものを返す関数を記述します。 'myOutput < - lapply(color、myFunction)'です。 'myFunction'はあなたのユーザ定義関数です。 – lmo

+0

@Imo私がしようとしていることは、各サブセットに一連のステップを適用し、再び出力を得ることです。最後に、すべての出力を結合したいと思います。私があなたが正しいと理解していれば、私がやろうとしているすべての一連の操作を含む関数を作成し、lapplyを使って各サブセットに適用することを提案することを意味しますか? – jaycee4u

+0

@aosmith本物のデータを共有したいと思いますが、できません。しかし、私が説明してきたことは、私が達成したいことをかなり要約しています。私は200万行と60列のデータを持っています! – jaycee4u

答えて

0

以下は私のために働いたので、私は@Imoと@aosmithに感謝したいと思います。

まず、色に基づいてdfをグループ化し、車輪でさらにグループ化し、そのような各サブグループ(車輪)内でマイレージに基づいて上位2台の車両を選択するとします。同じようにdplyrライブラリを使用しました。

 my_list <- df %>% group_by(color, wheels) %>% top_n(2,Mileage) 

HTH

関連する問題