按年度分组的比例表(数据表)的独特观察

时间:2017-08-14 19:04:33

标签: r data.table unique

我有一个{id,product type}唯一的表,并按年份运行:

id product_type sex year

1 A F 2000

1 B F 2000

1 B F 2001

1 A M 2000

1 B M 2000

1 B M 2001

我希望按年份获得性别比例表(按年份划分的男性和女性客户比例)。

这就是我试过的,

library(data.table)
DT <- data.table(salesdata)
DT[, .(distincts = length(unique(id))), by=list(year,sex)]

它给了我一年的性别数。我怎样才能逐年得出男性和女性的百分比或比例?

1 个答案:

答案 0 :(得分:0)

试试这个:

gmodels::CrossTable(DT$sex, DT$year, prop.t = F, prop.chisq = F)

   Cell Contents
|-------------------------|
|                       N |
|           N / Row Total |
|           N / Col Total |
|-------------------------|


Total Observations in Table:  6 


             | dt$year 
      dt$sex |      2000 |      2001 | Row Total | 
-------------|-----------|-----------|-----------|
           F |         2 |         1 |         3 | 
             |     0.667 |     0.333 |     0.500 | 
             |     0.500 |     0.500 |           | 
-------------|-----------|-----------|-----------|
           M |         2 |         1 |         3 | 
             |     0.667 |     0.333 |     0.500 | 
             |     0.500 |     0.500 |           | 
-------------|-----------|-----------|-----------|
Column Total |         4 |         2 |         6 | 
             |     0.667 |     0.333 |           | 
-------------|-----------|-----------|-----------|