R:如何制作包含汇总和非汇总信息的汇总表?

时间:2019-01-07 07:22:29

标签: r tidyverse

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

我想制作一张表,显示每家商店,它们的总销售额,平均价格和商店类型/年龄/大小。

我使用此代码添加了汇总信息

xy <- group_by(train, Outlet_Identifier) %>% 
  summarize(sales = sum(Item_Outlet_Sales), 
            avgmrp = median(Item_MRP)) %>% 
  arrange(desc(sales))

我为此制作了一张表格,用于说明每个插座的大小

table(Outlet_Identifier,Outlet_Size)

这就是数据的样子

   Outlet_Identifier    sales avgmrp
   <fct>                <dbl>  <dbl>
 1 OUT027            3453926.   144.
 2 OUT035            2268123.   146.
 3 OUT049            2183970.   142.
 4 OUT017            2167465.   141.
 5 OUT013            2142664.   142.
 6 OUT046            2118395.   144.
 7 OUT045            2036725.   142.
 8 OUT018            1851823.   141.
 9 OUT010             188340.   144.
10 OUT019             179694.   144.

                 Outlet_Size
Outlet_Identifier     High Medium Small
           OUT010 555    0      0     0
           OUT013   0  932      0     0
           OUT017 926    0      0     0
           OUT018   0    0    928     0
           OUT019   0    0      0   528
           OUT027   0    0    935     0
           OUT035   0    0      0   930
           OUT045 929    0      0     0
           OUT046   0    0      0   930
           OUT049   0    0    930     0

如何制作汇总表//将非汇总信息添加到使用汇总的命令中?

编辑:这是我想要的输出

   Outlet_Identifier    sales avgmrp    type         size
   <fct>                <dbl>  <dbl>    <  >         <  >
 1 OUT027            3453926.   144.    grocery       934
 2 OUT035            2268123.   146.    grocery       564
 3 OUT049            2183970.   142.    grocery       934
 4 OUT017            2167465.   141.    supermarket   874
 5 OUT013            2142664.   142.    grocery       356
 6 OUT046            2118395.   144.    supermarket   764
 7 OUT045            2036725.   142.    grocery       934
 8 OUT018            1851823.   141.    supermarket   634
 9 OUT010             188340.   144.    supermarket   334
10 OUT019             179694.   144.    grocery       343

1 个答案:

答案 0 :(得分:0)

您只需要将“类型”列传递给某些聚合函数,对于大小列,您可以使用date函数。

n()