2016-07-18 5 views
0

別のカテゴリ変数でソートされたカテゴリデータの一意の値を取得:R:私は次のようなデータを持っていると私は以上の2つのブランドから購入した人の割合を知りたい

 hh_code brand 
    3032145  536 
    3032145  53 
    3032145  534 
    324063  536 
    204128  53 
    84787   536 

をし、私はテーブルを使用して試してみましたが、それはちょうど私の周波数を与えている

hh_code unique_ brand 
    3032145 3 
    847827  1 
    204128  1 
    84787  1 

:次のように - 私は、各世帯が購入したブランドの数にしたいです。 洞察に感謝します!

+0

これはかなり一般的な質問です。あなたの例ではうまくいく 'table(df $ hh_code)'を使うこともできますし、HHが同じブランドを何度も買うと 'table(unique(df)$ hh_code)'が2列のdata.frameで動作するはずです。 – lmo

+0

ok、ありがとう!私は前にテーブル(df $ hh_code、df $ brand)を試してみましたが、うまくいきませんでした。 – lll

答えて

1

我々はtapplyを使用してdata.table

library(data.table) 
setDT(df1)[, .(unique_brand = uniqueN(brand)), by = hh_code] 
# hh_code unique_brand 
#1: 3032145   3 
#2: 324063   1 
#3: 204128   1 
#4: 84787   1 
+1

これは印象的な迅速な対応でした。 – dayne

0

シンプル、ベースR・ソリューションを使用することができます。

num_brands <- tapply(df$brand, df$hh_code, length) 
ge2_brands <- num_brands > 2 
関連する問題