如何使列联表成比例

时间:2019-01-07 17:07:13

标签: r

我正在与bigmart data set合作。它具有有关十家商店的销售数字的假设数据。

我想制作一张表,显示按商店划分的商品类型分布。我有一张表,显示原始计数。

table(Item_Type,Outlet_Identifier)

Item_Type               OUT010 OUT013 OUT017 OUT018 OUT019 OUT027 OUT035 OUT045 OUT046 OUT049
  Baking Goods              42     73     73     68     43     69     68     70     76     66
  Breads                    17     25     22     27     16     31     29     33     26     25
  Breakfast                  9     13     12     12     10     11     10     10     10     13
  Canned                    35     65     69     78     38     72     79     74     72     67
  Dairy                     43     80     74     73     49     67     71     69     78     78
  Frozen Foods              54     92    106     92     49     89     92     81    108     93
  Fruits and Vegetables     79    142    127    135     73    140    129    143    126    138
  Hard Drinks               16     23     22     22      8     23     22     28     20     30
  Health and Hygiene        37     61     61     58     30     60     50     55     56     52
  Household                 67    103     95     95     52     99    102     99    103     95
  Meat                      34     41     44     46     32     56     43     38     44     47
  Others                    10     16     16     20     17     15     16     20     22     17
  Seafood                    4      5      5      7      6      7      8      9      6      7
  Snack Foods               71    125    128    132     75    137    140    133    120    139
  Soft Drinks               28     49     54     46     26     45     52     51     48     46
  Starchy Foods              9     19     18     17      4     14     19     16     15     17

我想把它变成一个比例表。我尝试了prop.table(),但是那占整个集合的比例。我希望它只是其列的比例

我有每个商店的商品总数

group_by(as.data.frame.table(table(Item_Type,Outlet_Identifier)),Outlet_Identifier) %>% summarize(total=sum(Freq))

# A tibble: 10 x 2
   Outlet_Identifier total
   <fct>             <int>
 1 OUT010              555
 2 OUT013              932
 3 OUT017              926
 4 OUT018              928
 5 OUT019              528
 6 OUT027              935
 7 OUT035              930
 8 OUT045              929
 9 OUT046              930
10 OUT049              930

我不知道如何将这两者联系在一起。我想要的输出是一个看起来像列联表的表,除了比例而不是计数。

0 个答案:

没有答案