使用R进行商业调查

调查某个酒馆的食品销售情况,具体的数据报错在menus.csv文件中。

加载数据以及用于数据操作以及绘图的程序包

> library(dplyr)
> library(ggplot2)
> menus <- read.csv("code/AmosWin/Chapter04/menus.csv",stringsAsFactors = FALSE,colClasses = c("factor","Date","numeric"))
> menus %>% names
[1] "品名"   "日期"   "销售额"
> head(menus)
    品名       日期 销售额
1 关东煮 2015-03-01   4046
2 关东煮 2015-03-02   3437
3 关东煮 2015-03-03   3191
4 关东煮 2015-03-04   3499
5 关东煮 2015-03-05   3536
6 关东煮 2015-03-06   3841
筛选出饭团的销售额

> fantuan <- menus %>% filter(品名 == "饭团")
> ggplot(fantuan,aes(日期,销售额))+geom_line()+scale_x_date()+ggtitle("饭团的销售额")
筛选出炒饭的销售额

> chaofan <- menus %>% filter(品名 == "炒饭")
> ggplot(chaofan,aes(日期,销售额))+geom_line()+scale_x_date()+ggtitle("炒饭的销售额")
筛选出各种面条的销售情况

> noodles <- menus %>% filter(品名 %in% c("意大利面","酱汁炒面","乌冬面","拉面","什锦面"))
> ggplot(noodles,aes(日期,销售额))+geom_line()+scale_x_date()+facet_wrap(~品名)+ggtitle("面条的销售额")
筛选牛奶的销售情况
> milk2 <-menus %>% filter(品名 == "牛奶")
> milk2 %>% ggplot(aes(日期,销售额))+geom_line()+scale_x_date()+ggtitle("牛奶销售额")

生成面制品和米制品的散点图矩阵
> install.packages("tidyr")
> library(tidyr)
> noodles2 <- menus %>% filter(品名 %in% c("饭团","味增汤","咖喱","茶泡饭","意大利面","酱汁炒面","乌冬面","什锦面")) %>% select(品名,销售额,日期) %>% spread(品名,销售额)
> noodles2 %>% head
        日期 茶泡饭  饭团 酱汁炒面  咖喱 什锦面 乌冬面 意大利面
1 2015-03-01  12751 23698     8460 15594   6245   8849     5947
2 2015-03-02   8881 19505     7412 10959   4469   6063     5010
3 2015-03-03  10006 19974     7377 12073   5159   6060     5263
4 2015-03-04   9480 18208     6959 12249   4399   6283     5150
5 2015-03-05   9752 19624     6518 11690   4791   7138     4883
6 2015-03-06  12534 23872    10249 16332   6039   9264     6410
> noodles2 [,-1] %>% cor()
              茶泡饭        饭团   酱汁炒面        咖喱     什锦面     乌冬面   意大利面
茶泡饭    1.00000000 -0.00971532  0.6080210  0.81505643  0.5924683  0.6293278  0.6165647
饭团     -0.00971532  1.00000000 -0.5029012 -0.02819566 -0.5041264 -0.4892078 -0.4866258
酱汁炒面  0.60802102 -0.50290122  1.0000000  0.62001363  0.9133528  0.8953787  0.9122944
咖喱      0.81505643 -0.02819566  0.6200136  1.00000000  0.6144427  0.6185421  0.6370305
什锦面    0.59246831 -0.50412641  0.9133528  0.61444273  1.0000000  0.9099195  0.9101794
乌冬面    0.62932779 -0.48920782  0.8953787  0.61854210  0.9099195  1.0000000  0.8979937
意大利面  0.61656471 -0.48662582  0.9122944  0.63703048  0.9101794  0.8979937  1.0000000
> noodles2[,-1] %>% pairs

乌冬面与饭团的散点图
> udon <-menus %>% filter(品名 %in% c("饭团","乌冬面")) %>% spread(品名,销售额)
> udon %>% ggplot(aes(乌冬面, 饭团))+geom_point()+ggtitle("乌冬面和饭团的散点图")

饭团与牛奶的散点图,证实牛奶与饭团的正相关性
> milk <- menus %>% filter(品名 %in% c("饭团","牛奶")) %>% spread(品名,销售额)
> milk %>% ggplot(aes(饭团,牛奶))+geom_point(size=2,color="grey50")+geom_smooth(method = "lm",se=FALSE)+ggtitle("饭团与牛奶的散点图")

证明冰激凌的销售额与气温的正相关性
> icecream <- read.csv("code/AmosWIN/Chapter04/icecream.csv")
> icecream %>% lm(销售量~气温,data =.)

Call:
lm(formula = 销售量 ~ 气温, data = .)

Coefficients:
(Intercept)         气温  
     57.167        5.216  

> icecream %>% ggplot(aes(销售量,气温))+geom_point(size=2)+geom_smooth(method="lm",se=FALSE)