系列文章目录
实验数据
1. death rate 数据集
选取人类死亡率数据库(HMD,2007),提供了 1951-2005 年瑞典人口信息。这是个多变量的数据集,变量描述如下表:
Year | 年份 | Age | 年龄 |
Female_Exp | 女性生存人口数 | Male_Exp | 男性生存人口数 |
q_female | 女性死亡率 | q_male | 男性死亡率 |
Female_death | 女性死亡人数 | Male_death | 男性死亡人数 |
L_female_exp | 对数女性生存人口数 | L_male_exp | 对数男性生存人口数 |
2. House-handle 数据集
选取堪培拉房价交易指数数据,仅通过该数据进行一些可视化分析,数据显示如下表:
date | 日期 | index | 房价指数(HPI) |
year | 年 | month | 月 |
提示:以下是本篇文章正文内容
一、实验目的
- 条形图、饼图、直方图、核密度图、箱线图和点图。
- 散点图、气泡图、折线图、相关图、马赛克图。
二、实验内容
题目1
- 通过读取文件 death rate.csv 获取数据保存到 df 中,简单分析数据,获取共有数据多少条,是否有缺失值或是异常值,若存在这样的数据,将这些数据剔除;对于死亡率来说,它的值域是 0<q<=1 。(1-6题的死亡率,只考虑男性的死亡率)。
- 绘制散点图,分别展示年龄、年份与男性的死亡率(对数即取 log)的关系。
- 绘制年龄与对数生存人数的散点图,分析这 2 个量的关系。
- 绘制直方图来观察一下男性死亡人数的分布。
- 绘制男性的对数死亡人数即(Male_death 的对数)的直方图,来观察男性的对数死亡人口数的分布情况。
- 计算 df 的各变量的相关系数,并画出相关图。
题目2
- 通过读取文件 House-handle.csv 获取数据保存到 houseIndex 中。
- 数据探索,绘制一张图表来展示 1990 到 2011 年的 HPI 的变化情况,横轴是时间(可以是数据的第一列),纵轴是 HPI 值。
- 绘制一张图,展示每个月的 HPI 的增长量,表示为 delta,在 0 的位置添加参考线。
- 为了进一步了解 HPI 的波动,计算其每个月的增长率。绘图时,增长率为正数的月份由加号(“+”)表示,为负的用(“o”)表示。
- 对 HPI 增长率建立表格,其中每一行代表一个月份,每一列代表一个年份,显示前四年的数据(HPI 增长率舍入到小数点后 4 位);并绘制一个 HPI 的平均年增长率和 HPI 的平均月增长率(全部年份的年增长率(列平均)和月增长率(行平均))。
- 绘制一个箱线图,来查看 HPI 的增长率的分布情况。
三、实现过程与实验结果
题目1
1.通过读取文件 death rate.csv 获取数据保存到 df 中,简单分析数据,获取共有数据多少条,是否有缺失值或是异常值,若存在这样的数据,将这些数据剔除;对于死亡率来说,它的值域是 0<q≤1 。(1-6题的死亡率,只考虑男性的死亡率)。
# 读取数据保存到df中
df <-
read.csv("R\\data\\ex3\\death rate.csv")
# 数据行数
dim(df)[1]
## [1] 6105
# 缺失值行数
sum(rowSums(is.na(df)) > 0)
## [1] 240
# 剔除缺失行
df <- na.omit(df)
# 数据行数
nrow(df)
## [1] 5865
# 死亡率异常行数
nrow(df) - nrow(df[df$q_male > 0 & df$q_male <= 1,])
## [1] 133
# 剔除异常值行
df <- df[df$q_male > 0 & df$q_male <= 1,]
# 数据行数
length(df[, 1])
## [1] 5732
2.绘制散点图,分别展示年龄、年份与男性的死亡率(对数即取 log)的关系。
# 年龄与男性的死亡率散点图
# plot
plot(df$Age, log(df$q_male))
# qplot
qplot(
x = Age,
y = log(q_male),
data = df,
geom = "point"
)
# ggplot2
library(ggplot2)
p <- ggplot(data = df, mapping =