2016-04-28 15 views
0

私はCSVファイル "buildings.csv"に次の列を持っています。私がやりたい何RでCSVファイルを処理する - モードを見つける

Complaint Number Status Date Entered House Number House Street BIN Community Board Special District Complaint Category Unit Disposition Date Disposition Code Inspection Date DOBRunDate 

は、「苦情カテゴリ」欄を見て、次に最も立ち上がるどのカテゴリ決定です。それらは数字としてリストされています。たとえば、カテゴリとして番号12の4行、カテゴリとして番号15の3行、番号1の20行が表示されます。次に、1が最も一般的なクレームタイプであると判断します合計20の独自の苦情があります。言い換えれば、どのようにして「苦情のカテゴリ」のモードを見つけることができますか?ここで私の試みたコードです。

buildings <- read.csv("buildings.csv") 

Mode <- function(x) { 
    +  ux <- unique(x) 
    +  ux[which.max(tabulate(match(x, ux)))] 
    + } 



Mode(buildings$ComplaintCategory) 

括弧が嫌いな理由はありますか?予期しない '}' in '+}」

Complaint Number Status Date Entered House Number House Street BIN Community Board Special District Complaint Category Unit Disposition Date Disposition Code Inspection Date DOBRunDate 
1347576 CLOSED 4/25/2013 42 WEST 29 STREET      1015742 105  12 BEST 4/25/2013 H1 4/25/2013 4/26/2013 0:00 
3549827 CLOSED 3/8/2016 833 39 STREET       3330494 312  4M BEST 3/16/2016 L2 3/16/2016 3/17/2016 0:00 
1347611 CLOSED 4/25/2013 42 WEST 29 STREET      1015742 105  12 BEST 4/25/2013 H1 4/25/2013 4/26/2013 0:00 
3546598 CLOSED 2/10/2016 316 KENT AVENUE       3335795 301  30 BEST 2/23/2016 I2 2/23/2016 2/24/2016 0:00 
1347418 CLOSED 4/23/2013 101 WEST 87 STREET      1032246 107  91 BEST 4/25/2013 L2 4/25/2013 4/26/2013 0:00 
4646431 CLOSED 3/9/2016 42-43   27 STREET       4005110 402  91 BEST 3/16/2016 A8 3/16/2016 3/17/2016 0:00 
2182954 CLOSED 3/11/2013 333 WEST 262 STREET      2817959 208  21 BEST 4/25/2013 L2 4/25/2013 4/26/2013 0:00 
4639225 CLOSED 12/10/2015 32-49   37 STREET       4010329 401  86 BEST 1/6/2016 H3 1/5/2016 1/7/2016 0:00 
1346947 CLOSED 4/16/2013 21 EAST 1 STREET      1088698 103  21 BEST 4/26/2013 L2 4/25/2013 4/27/2013 0:00 
1418990 ACTIVE 3/16/2016 222 EAST 14 STREET      1006900 103  21 BEST    3/17/2016 0:00 
4542654 CLOSED 3/6/2013 86-52   PINTO STREET      4224111 408  21 BEST 4/26/2013 L2 4/25/2013 4/27/2013 0:00 
3540897 ACTIVE 12/16/2015 7819 BAY PARKWAY       3162372 311  91 BEST 12/16/2015 D4 12/16/2015 12/17/2015 0:00 
4545284 CLOSED 4/9/2013 45-18   SMART STREET      4445273 407  21 BEST 4/29/2013 L2 4/27/2013 4/30/2013 0:00 
3546801 CLOSED 2/11/2016 161 DUPONT STREET      3063780 301  3 BEST 2/23/2016 I2 2/23/2016 2/24/2016 0:00 
3443838 CLOSED 5/8/2013 461 39 STREET       3010445 307  2E BEST 5/8/2013 P6 5/8/2013 5/9/2013 0:00 
4638942 CLOSED 12/7/2015 97-38   64 AVENUE       4050468 406  86 BEST 1/6/2016 I2 1/6/2016 1/7/2016 0:00 
3443837 CLOSED 5/8/2013 461 39 STREET       3010445 307  2E BEST 5/8/2013 P6 5/8/2013 5/9/2013 0:00 
3550169 ACTIVE 3/10/2016 766 METROPOLITAN AVENUE     3068892 301  30 BEST 3/10/2016 D4 3/10/2016 3/11/2016 0:00 
4545931 CLOSED 4/17/2013 142-02   BOOTH MEMORIAL AVENUE    4140189 407  83 BEST 5/21/2013 L2 5/21/2013 5/22/2013 0:00 
4637834 CLOSED 11/24/2015 61-20   BLEECKER STREET      4084597 405  4K BEST 11/24/2015 A3 11/24/2015 11/25/2015 0:00 
3447488 CLOSED 6/14/2013 2123 E 5 STREET       3191975 315  2E BEST 6/14/2013 P6 6/14/2013 6/15/2013 0:00 
4646432 ACTIVE 3/9/2016 42-50   27 STREET       4541854 402  91 BEST 3/10/2016 D4 3/10/2016 3/11/2016 0:00 
1349193 CLOSED 5/21/2013 222 EAST 104 STREET      1088784 111  21 BEST 5/21/2013 L1 5/21/2013 5/22/2013 0:00 

誰かが私にこのアプローチに最も適した方法を教えてください。おかげ

+0

。 –

+0

tapplyコマンド:tapply(fishPassage $ "クレームカテゴリ"、INDEX = fishPassage $ "クレームカテゴリ"、FUN =長さ)を試してください。これにより、すべてのクレームカテゴリの数がカウントされます。将来はdputを使用してデータをロードしてください。 – Dave2e

+3

sort(table(fishPassage [['complaint Category]])))[1] –

答えて

0

あなたはこの方法を使用して同じ操作を行うことができます。私はより多くの情報を追加しました

buildings <- read.csv("buildings.csv") 

Mode <- function(x) { 
    tbl <- table(x) 
    ans <- tbl[which.max(tbl)] 
    return (ans) 
} 

Mode(buildings$ComplaintCategory) 
関連する問題