将rowPerc,colPerc组合在一个矩阵中?

时间:2015-12-10 08:59:51

标签: r

假设我有不同月份不同类别的不同产品销售数据,我希望看到每个类别的销售百分比或项目数

Id Name Price sales Profit Month Category Mode Supplier
1    A     2     5      8     1        X    K     John
1    A     2     6      9     2        X    K     John
1    A     2     5      8     3        X    K     John
2    B     2     4      6     1        X    L      Sam
2    B     2     3      4     2        X    L      Sam
2    B     2     5      7     3        X    L      Sam
3    C     2     5     11     1        X    M     John
3    C     2     5     11     2        X    L     John
3    C     2     5     11     3        X    K     John
4    D     2     8     10     1        Y    M     John
4    D     2     8     10     2        Y    K     John
4    D     2     5      7     3        Y    K     John
5    E     2     5      9     1        Y    M      Sam
5    E     2     5      9     2        Y    L      Sam
5    E     2     5      9     3        Y    M      Sam
6    F     2     4      7     1        Z    M     Kyle
6    F     2     5      8     2        Z    L     Kyle
6    F     2     5      8     3        Z    M     Kyle

在类别和模式上应用table将向我们显示特定模式下特定类别存在的次数

    K L M
  X 4 4 1
  Y 2 1 3
  Z 0 1 2

现在rowPerccolPerc会在行方式或列方式上给出百分比。 但是,如果我有兴趣知道例如X / K,则占总数据的百分比为22.22%(矩阵中的总数据为18)。 有什么方法可以得到总数据中特定点的百分比矩阵。 像这样的东西

        K      L      M 
  X  22.22  22.22   5.55 
  Y  11.11  5.55    16.67 
  Z  0.00   5.55    11.11 

所以矩阵的总和是100%而不是行或列。

我希望我能清楚地解释清楚。感谢

1 个答案:

答案 0 :(得分:2)

如果df是您的data.frame

with(df, prop.table(table(Category, Mode))*100)