第2章

2 Organizing and Visualizing Variables

讲义chap2 讲义

课堂练习

题目1

阅读以下推文

微信公众号狗熊会>案例图书>精品案例>中国女排国际竞争力现况及国内选材建队思路分析

微信公众号狗熊会>案例图书>精品案例>公共自行车损坏识别

微信公众号狗熊会>案例图书>精品案例>bilibili人类云吸猫行为观察

微信公众号狗熊会>案例图书>精品案例>王者荣耀英雄职业数据探索性分析

1.1 数据来源?

1.2 研究中的观测单元(观测个体)是什么?

1.3 样本容量?

1.3 研究中使用了哪些变量?

1.4 文中利用统计分析回答了哪些问题?

1.5 该推文对我们开展统计案例分析有何启发?

点击浏览图片

微信狗熊会公众号

探索性数据分析

教学视频

讲义如何从中国知网下载统计数据?

讲义八爪鱼客户端抓取网页数据?

讲义如何用Excel整理提取的网页数据?

拓展资源

CSMAR 国泰安经济金融数据库 http://www.gtarsc.com/Home

中国家庭追踪调查 CFPS http://www.isss.pku.edu.cn/cfps/

中国家庭金融调查数据 CHFS https://chfs.swufe.edu.cn

中国健康与养老数据追踪调查数据CHARLS http://charls.pku.edu.cn

暨南大学社会调查中心 https://sdc-iesr.jnu.edu.cn

Kaggle https://www.kaggle.com/datasets

课堂练习

题目1 饼图

数据来源:大众点评网,广州六大品牌奶茶店

样本容量:336

数据来源:大众点评网,广州6大奶茶品牌

Show the code
library(tidyverse)
library(readxl)
data  <- read_excel("data/top6.xlsx")

par(family  = 'STKaiti')
library(showtext)
showtext_auto()

data %>% 
  count(brand) %>% 
  mutate(percent = round(n/sum(n)*100, 1))
# A tibble: 6 × 3
  brand                n percent
  <chr>            <int>   <dbl>
1 CoCo都可            64    19  
2 TANING手挞柠檬茶    44    13.1
3 书亦烧仙草          82    24.4
4 喜茶                43    12.8
5 益禾堂              45    13.4
6 茶百道              58    17.3
Show the code
table(data$brand) %>% 
  pie()

Show the code
pie_table <- data %>% 
  count(brand) %>% 
  mutate(percent = round(n/sum(n)*100, 1),
         per_label = paste0(brand, " ", percent, "%")) %>% 
  arrange(desc(percent))
  
pie(pie_table$percent, 
    labels = pie_table$per_label, 
    clockwise = TRUE,
    init.angle = 90)

题目2 条形图

Show the code
data %>% ggplot(aes(brand, fill = brand)) + 
  geom_bar() +
  labs(x = "品牌", fill = "品牌") +
  theme_bw() +
  theme(text = element_text(size = 15),
        legend.position = "bottom",
        legend.text = element_text(size = 10)) 

Show the code
library(forcats)
data %>% ggplot(aes(fct_infreq(brand), fill = brand)) + 
  geom_bar() +
  geom_text(stat = "count", aes(label = after_stat(count)), vjust = -1)+ 
  scale_y_continuous(limits = c(0,100))+
  guides(x = guide_axis(angle = 45)) +
  labs(x = "品牌", fill = "品牌") +
  theme_bw() +
  theme(text = element_text(size = 15),
        legend.position = "none",
        legend.text = element_text(size = 10)) 

题目3 直方图

Show the code
library(ggplot2)

# 难看的直方图
ggplot(mpg, aes(x = hwy)) +
  geom_histogram(binwidth = 5, color = "black", alpha = 0.9) +
  labs(title = "Ugly Histogram", x = "Highway Mileage", y = "Count") +
  theme(
    plot.title = element_text(size = 20, hjust = 0.5, color = "purple"),
    axis.title.x = element_text(size = 15, angle = 45, vjust = 1, color = "red"),
    axis.title.y = element_text(size = 15, angle = 90, hjust = 1, color = "green"),
    legend.position = "top",
    panel.background = element_rect(fill = "pink"),
    panel.grid.major = element_line(color = "yellow", size = 1)
  )

Show the code
# 好看的直方图
ggplot(mpg, aes(x = hwy)) +
  geom_histogram(breaks = seq(12, 46, 2), 
                 fill = "#0073C2FF", 
                 color = "white", 
                 alpha = 0.8) +
  scale_x_continuous(breaks = seq(12, 46, 2),
                     labels = seq(12, 46, 2)) +
  scale_y_continuous(limits = c(0,50))+
  labs(title = "Highway Mileage Distribution", x = "Highway Mileage", y = "Frequency") +
  theme_minimal() +
  theme(
    plot.title = element_text(size = 20, hjust = 0.5),
    axis.title.x = element_text(size = 18),
    axis.title.y = element_text(size = 18),
    panel.grid.major = element_line(color = "grey90"),
    panel.grid.minor = element_blank()
  )

题目4 二维变量的作图

分组条形图

Show the code
data %>%
  group_by(area, brand) %>%
  summarise(count = n(), .groups = "drop") %>% 
  mutate(brand_order = paste(brand, area, rank(-count), sep = "_"))  %>% 
  ggplot(aes(reorder(brand_order, -count),
             count, fill = brand)) +
  geom_col()+
  facet_wrap(~ area, scales = "free_x", ncol = 3) +
  geom_text(aes(label = count), vjust = -0.5) +
  scale_x_discrete(labels = function(x) gsub("_.+$", "", x)) + # 移除排序编号
  scale_y_continuous(limits = c(0, 42)) +
  labs(x = "品牌", y = "数量") +
  theme(axis.text.x = element_text(angle = 42, hjust = 1), 
        legend.position = "none")

分组直方图

Show the code
#按单个定性变量分组
data %>% 
  ggplot(aes(retail.price, fill = brand))+
  geom_histogram(breaks = seq(6, 38, 2))+
  facet_wrap(~brand, ncol = 2) +
  scale_y_continuous(limits = c(0,60))+
  scale_fill_brewer(palette  = "Set1") +
  labs(title = "零售价直方图",
       x = "零售价",
       y = "频数") +
  scale_x_continuous(breaks = seq(6, 36, 4),
                     labels = seq(6, 36, 4)) +
  theme_bw() +
  theme(text = element_text(size = 15),
        legend.position = "bottom",
        legend.text = element_text(size = 10))

分组直方图

Show the code
data %>% 
  ggplot(aes(retail.price, reorder(brand, retail.price, FUN = median),
             col = brand))+
  geom_boxplot()+
  labs(title ="六大奶茶品牌零售价格",
       x = "零售价格",
       y = "品牌", fill = "品牌")+
  theme_bw() +
  theme(text = element_text(size = 15),
        legend.position = "bottom",
        legend.text = element_text(size = 10))

Excel教学视频

讲义Excel图表工具合集

讲义Excel图表工具综合运用——基金经理

讲义EXCEL数据清洗合集

讲义EXCEL如何美化箱线图?

SPSS教学视频

定性数据的图表工具

讲义SPSS 如何美化饼图

讲义SPSS 帕累托图

讲义SPSS 简单条形图

讲义SPSS 簇状条形图

讲义SPSS 堆积条形图

讲义SPSS 交叉表

定量数据的图表工具

讲义SPSS 简单箱线图

讲义SPSS 簇状箱线图

讲义SPSS 直方图

讲义SPSS 分组直方图

讲义SPSS 探索工具

SPSS习题

习题1 telco.sav

数据文件telco.sav

1.1 绘制ed的频数分布表,在表中列出各个组别的人数及占比。

1.2 绘制客户的ed的饼图, 在各个扇区标注百分比,为各个扇区设置你喜欢的颜色。

1.3 绘制custcat的饼图,按各组百分比降序排列扇区,并在扇区上标注类别名称和百分比。

1.4 绘制custcat的条形图,按各组频数降序排列条形,并在条形上方标注各组人数。

1.5 绘制客户custcat和ed的列联表,在表中列出行的百分比,列的百分比。

1.6 将客户按ed分组,绘制各个组别客户的income的直方图

1.7 将客户按ed分组,绘制各个组别客户的income的箱线图。

1.8 将客户按ed分组,绘制各个组别客户的tenure的直方图。

1.9 将客户按ed分组,绘制各个组别客户的tenure的箱线图。

1.10 将客户按region、gender分成6个组别,绘制各个组别客户的tenure的直方图。

1.11 将客户按region、gender分成6个组别,绘制各个组别客户的income的直方图。

1.12 绘制retire = YES的客户的income的茎叶图。

习题2 毕业生.xlsx

数据文件:毕业生.xlsx(在QQ 群文件的“实验数据”文件中)

数据文件:毕业生.xlsx(数据文件在QQ 群文件夹中)

要求:利用SPSS完成

2.1 绘制毕业生的专业分布的频数分布表、条形图(按各组频数降序排列条形)。

2.2 绘制毕业生政治面貌分布的饼图,按各组百分比降序排列扇区,并在扇区上标注类别名称和百分比。

条形图(按各组频数降序排列条形),为各个扇区设置你喜欢的颜色。

2.3 绘制毕业生政治面貌和性别的列联表,在表中列出行的百分比,列的百分比。

2.4 将毕业生按专业分组,绘制各个专业毕业生月薪的直方图。

2.5 将毕业生按是否在广州就业分组,绘制两个组别毕业生月薪的直方图

2.6 将毕业生按专业分组,绘制各个专业毕业生月薪的箱线图。

2.7 将毕业生按是否在广州就业分组,绘制两个组别毕业生月薪的箱线图。

2.8 将毕业生按生源地是否在广州,就业地是否在广州分成4个组别,绘制各个组别毕业生薪酬的直方图。

2.9 将毕业生按生源地是否在广州,就业地是否在广州分成4个组别,绘制各个组别毕业生薪酬的箱线图。

2.10 绘制物流管理专业毕业生月薪的茎叶图。请简要描述该专业毕业生月薪分布的特征。(SPSS主菜单:分析,图…勾选茎叶图,提示:月薪分布在哪个区间最密集?其分布是对称、左偏还是右偏?)

Excel习题

习题3 毕业生.xlsx

数据文件:毕业生.xlsx(数据文件在QQ 群文件夹中),用Excel完成以下任务:

3.1 绘制毕业生性别分布的频数分布表,在表中列出男性和女性的人数及比重。

3.2 绘制毕业生性别分布的饼图和条形图。

3.3 绘制毕业生的专业人数分布的频数分布表,在表中列出各个专业的人数和百分比。

3.4 绘制毕业生各专业人数分布的帕累托图。

3.5 绘制毕业生的政治面貌的频数分布表。

3.6 绘制毕业生的政治面貌的瀑布图。

3.7 绘制毕业生的就业单位类型的频数分布表。

3.8 对毕业生先按性别、再按就业单位类型进行层级分组,绘制树状图。

3.9 对毕业生先按性别、再按政治面貌进行层级分组,绘制树状图。

习题4 毕业生.xlsx

数据文件:毕业生.xlsx(数据文件在QQ 群文件夹中),用Excel完成以下任务:

4.1 绘制毕业生月薪的频数分布表,采用适宜的组矩,在表中列出各个组别的人数和百分比。

4.2 绘制毕业生月薪的直方图。

4.3 绘制毕业生月薪的频数折线图、累积百分比折线图,在图中标注出频数或累积百分比。在870位毕业生中,月薪小于等于4000、小于等于6000的各占比多少?。

4.4 绘制毕业生月薪的箱线图,在箱线图中标注出第1个四分位数、中位数和第3个四分位数。

Excel教学视频

讲义Excel图表工具合集

讲义Excel图表工具综合运用——基金经理

讲义EXCEL数据清洗合集

SPSS教学视频

定性数据的图表工具

讲义SPSS 如何美化饼图

讲义SPSS 帕累托图

讲义SPSS 简单条形图

讲义SPSS 簇状条形图

讲义SPSS 堆积条形图

讲义SPSS 交叉表

定量数据的图表工具

讲义SPSS 简单箱线图

讲义SPSS 簇状箱线图

讲义SPSS 直方图

讲义SPSS 分组直方图

讲义SPSS 探索工具

SPSS习题

习题1 telco.sav

数据文件telco.sav

1.1 绘制ed的频数分布表,在表中列出各个组别的人数及占比。

1.2 绘制客户的ed的饼图, 在各个扇区标注百分比,为各个扇区设置你喜欢的颜色。

1.3 绘制custcat的饼图,按各组百分比降序排列扇区,并在扇区上标注类别名称和百分比。

1.4 绘制custcat的条形图,按各组频数降序排列条形,并在条形上方标注各组人数。

1.5 绘制客户custcat和ed的列联表,在表中列出行的百分比,列的百分比。

1.6 将客户按ed分组,绘制各个组别客户的income的直方图

1.7 将客户按ed分组,绘制各个组别客户的income的箱线图。

1.8 将客户按ed分组,绘制各个组别客户的tenure的直方图。

1.9 将客户按ed分组,绘制各个组别客户的tenure的箱线图。

1.10 将客户按region、gender分成6个组别,绘制各个组别客户的tenure的直方图。

1.11 将客户按region、gender分成6个组别,绘制各个组别客户的income的直方图。

1.12 绘制retire = YES的客户的income的茎叶图。

习题2 毕业生.xlsx

数据文件:毕业生.xlsx(在QQ 群文件的“实验数据”文件中)

数据文件:毕业生.xlsx(数据文件在QQ 群文件夹中)

要求:利用SPSS完成

2.1 绘制毕业生的专业分布的频数分布表、条形图(按各组频数降序排列条形)。

2.2 绘制毕业生政治面貌分布的饼图,按各组百分比降序排列扇区,并在扇区上标注类别名称和百分比。

条形图(按各组频数降序排列条形),为各个扇区设置你喜欢的颜色。

2.3 绘制毕业生政治面貌和性别的列联表,在表中列出行的百分比,列的百分比。

2.4 将毕业生按专业分组,绘制各个专业毕业生月薪的直方图。

2.5 将毕业生按是否在广州就业分组,绘制两个组别毕业生月薪的直方图

2.6 将毕业生按专业分组,绘制各个专业毕业生月薪的箱线图。

2.7 将毕业生按是否在广州就业分组,绘制两个组别毕业生月薪的箱线图。

2.8 将毕业生按生源地是否在广州,就业地是否在广州分成4个组别,绘制各个组别毕业生薪酬的直方图。

2.9 将毕业生按生源地是否在广州,就业地是否在广州分成4个组别,绘制各个组别毕业生薪酬的箱线图。

2.10 绘制物流管理专业毕业生月薪的茎叶图。请简要描述该专业毕业生月薪分布的特征。(SPSS主菜单:分析,图…勾选茎叶图,提示:月薪分布在哪个区间最密集?其分布是对称、左偏还是右偏?)

Excel习题

习题3 毕业生.xlsx

数据文件:毕业生.xlsx(数据文件在QQ 群文件夹中),用Excel完成以下任务:

3.1 绘制毕业生性别分布的频数分布表,在表中列出男性和女性的人数及比重。

3.2 绘制毕业生性别分布的饼图和条形图。

3.3 绘制毕业生的专业人数分布的频数分布表,在表中列出各个专业的人数和百分比。

3.4 绘制毕业生各专业人数分布的帕累托图。

3.5 绘制毕业生的政治面貌的频数分布表。

3.6 绘制毕业生的政治面貌的瀑布图。

3.7 绘制毕业生的就业单位类型的频数分布表。

3.8 对毕业生先按性别、再按就业单位类型进行层级分组,绘制树状图。

3.9 对毕业生先按性别、再按政治面貌进行层级分组,绘制树状图。

习题4 毕业生.xlsx

数据文件:毕业生.xlsx(数据文件在QQ 群文件夹中),用Excel完成以下任务:

4.1 绘制毕业生月薪的频数分布表,采用适宜的组矩,在表中列出各个组别的人数和百分比。

4.2 绘制毕业生月薪的直方图。

4.3 绘制毕业生月薪的频数折线图、累积百分比折线图,在图中标注出频数或累积百分比。在870位毕业生中,月薪小于等于4000、小于等于6000的各占比多少?。

4.4 绘制毕业生月薪的箱线图,在箱线图中标注出第1个四分位数、中位数和第3个四分位数。

拓展资源

在线词云图工具 https://www.wordclouds.com/