R语言入门第四集 实验三:数据可视化



一、资源

【R语言】R语言数据可视化——东北大学大数据班R实训第三次作业

在r中rowsums_R语言初级教程(15): 矩阵(下篇)

R语言环境变量的设置 环境设置函数为options()

R语言绘图基础篇-散点图(geom_point)

箱形图

ggplot2绘图去除图例

R:使用ggplot2画散点图时出现错误: Continuous value supplied to discrete scale

3.3 R中内置的散点图的所有样式/shape(重要)



二、答案更新纠正

  1. 1.2绘制散点图,分别展示年龄与男性的死亡率(对数即取log)的关系。

    答案:

    plot(df$Age,log(df$q_male))

    应该为:

    1.2绘制散点图,分别展示年龄、年份与男性的死亡率(对数即取log)的关系。

    plot(df$Age,log(df$q_male))
    plot(df$Year,log(df$q_male))
  2. 1.3绘制年龄与对数生存人数的散点图,分析这2个量的关系。

    答案:

    应该为:

    1.3绘制年龄与对数生存人数的散点图,分析这2个量的关系。

    df$L_exp <- df$L_female_exp+df$L_male_exp
    plot(df$Age,df$L_exp)
  3. 1.5绘制男性的对数死亡人数即(Male_death的对数)的直方图,来观察男性的对数死亡人口数的分布情况。

    答案:

    应该为:

    1.5绘制男性的对数死亡人数即(Male_death的对数)的直方图,来观察男性的对数死亡人口数的分布情况。

    hist(log(df$Male_death),breaks=100)
  4. 2.2数据探索,绘制一张图表来展示1990到2011年的HPI的变化情况,横轴是时间
    (可以是数据的第一列),纵轴是HPI值。

    答案:

    Sys.setlocale("LC_TIME","English")
    # 最初的date数据类型是factor
    class(houseIndex$date)
    head(houseIndex$date)
    # 然后转化为character
    houseIndex$date <- as.character(houseIndex$date)
    class(houseIndex$date)
    head(houseIndex$date)
    # 然后转化为Date
    houseIndex$date <- as.Date(houseIndex$date, "%d-%b-%y")
    class(houseIndex$date)
    head(houseIndex$date)
    plot(houseIndex$date,houseIndex$index,type = "l",main = "HIP(Canberra)-since 1990")

    应该为:

    2.2数据探索,绘制一张图表来展示1990到2011年的HPI的变化情况,横轴是时间(可以是数据的第一列),纵轴是HPI值。

    Sys.setlocale("LC_TIME","English")
    houseIndex$date <- as.character(houseIndex$date)
    houseIndex$date <- as.Date(houseIndex$date, "%d-%b-%y")
    plot(houseIndex$date,houseIndex$index,type = "l",main = "HIP(Canberra) - from 1990 to 2011")
    
  5. 2.4为了进一步了解HPI的波动,计算其每个月的增长率。绘图时,增长率为正数的月份由加号(“+”)表示,为负的用(“o”)表示。

    答案:

    应该为:

    2.4为了进一步了解HPI的波动,计算其每个月的增长率。绘图时,增长率为正数的月份由加号(“+”)表示,为负的用(“o”)表示。

    houseIndex$rates <- houseIndex$delta/houseIndex$index[houseIndex$rates]
    houseIndex$rates[1] <- (houseIndex$index[1]-1)/1
    houseIndex$cyl <- houseIndex$rates
    houseIndex$cyl[houseIndex$cyl>0]<- 3
    houseIndex$cyl[houseIndex$cyl<0]<- 1
    library(ggplot2)
    ggplot(houseIndex, aes(date, rates))+geom_point(shape=houseIndex$cyl)
  6. 2.6绘制一个箱线图,来查看HPI的增长率的分布情况。

    答案:

    boxplot(rateMatrix,ylab="HPI Increase Rate")

    应该为:

    2.6绘制一个箱线图,来查看HPI的增长率的分布情况。

    boxplot(houseIndex$rates,ylab="HPI Increase Rate")


三、答案

实验三 数据可视化

题目1:
1.1通过读取文件death rate.csv获取数据保存到df中,简单分析数据,获取共有数据多少条,是否有缺失值或是异常值,若存在这样的数据,将这些数据剔除;对于死亡率来说,它的值域是0<q<=1 。【注:1-6题中的死亡率,只考虑男性的死亡率】

df <-read.csv("death rate.csv")
dim(df)
sum(rowSums(is.na(df)) > 0)
nrow(df) - nrow(df[df$q_male > 0 & df$q_male <= 1, ])
nrow(df)
df <- na.omit(df)
nrow(df)
df <- df[df$q_male > 0 & df$q_male <= 1, ]
nrow(df)

1.2绘制散点图,分别展示年龄、年份与男性的死亡率(对数即取log)的关系。

plot(df$Age,log(df$q_male))
plot(df$Year,log(df$q_male))

1.3绘制年龄与对数生存人数的散点图,分析这2个量的关系。

df$L_exp <- df$L_female_exp+df$L_male_exp
plot(df$Age,df$L_exp)

答:根据年龄与对数生存人数的散点图,可知这2个量的关系为随着年龄的增大,对数生存人数逐渐降低,且降低的幅度快速增大。

1.4绘制直方图来观察一下男性死亡人数的分布。

hist(df$Male_death,breaks=100)

1.5绘制男性的对数死亡人数即(Male_death的对数)的直方图,来观察男性的对数死亡人口数的分布情况。

hist(log(df$Male_death),breaks=100)

1.6计算df的各变量的相关系数,并画出相关图。【用corrgram包】

install.packages("corrgram")
library(corrgram)
options(digits=2)
cor(df)
corrgram(df, order=TRUE,lower.panel=panel.shade,upper.panel=panel.pie,text.panel=panel.txt,main="Corrgram of df intercorrelations")

题目2:
2.1通过读取文件House-handle.csv获取数据保存到houseIndex中。

houseIndex<-read.csv("House-handle.csv")

2.2数据探索,绘制一张图表来展示1990到2011年的HPI的变化情况,横轴是时间(可以是数据的第一列),纵轴是HPI值。

Sys.setlocale("LC_TIME","English")
houseIndex$date <- as.character(houseIndex$date)
houseIndex$date <- as.Date(houseIndex$date, "%d-%b-%y")
plot(houseIndex$date,houseIndex$index,type = "l",main = "HIP(Canberra) - from 1990 to 2011")

2.3绘制一张图,展示每个月的HPI的增长量,表示为delta,在0的位置添加参考线。【注:增长量,可以用下一条减上一条来计算;第一条的上一条的HPI值可以认为是1】

houseIndex$rates <- which(houseIndex$index==houseIndex$index)-1
houseIndex$rates[1] <- 1
houseIndex$delta <-houseIndex$index-houseIndex$index[houseIndex$rates]
houseIndex$delta[1] <- houseIndex$index[1]-1
plot(houseIndex$date,houseIndex$delta,type="p", main="Increase in HPI",xlab="时间",ylab="delta")
abline(h=0,lty = 3)

2.4为了进一步了解HPI的波动,计算其每个月的增长率。绘图时,增长率为正数的月份由加号(“+”)表示,为负的用(“o”)表示。

houseIndex$rates <- houseIndex$delta/houseIndex$index[houseIndex$rates]
houseIndex$rates[1] <- (houseIndex$index[1]-1)/1houseIndex$cyl <- houseIndex$rates
houseIndex$cyl[houseIndex$cyl>0]<- 3
houseIndex$cyl[houseIndex$cyl<0]<- 1houseIndex$gear <-houseIndex$rates
houseIndex$gear[houseIndex$gear>0]<- 3
houseIndex$gear[houseIndex$gear<0]<- 1library(ggplot2)
ggplot(houseIndex, aes(date, rates))+geom_point(aes(shape=factor(cyl)),size=3)+scale_shape_manual(values = c(1,3))+theme(legend.position = 'none')

2.5对HPI增长率建立表格,其中每一行代表一个月份,每一列代表一个年份,显示前四年的数据(HPI增长率舍入到小数点后4位);并绘制一个HPI的平均年增长率和HPI的平均月增长率(全部年份的年增长率(列平均)和月增长率(行平均))。

rateMatrix <- xtabs(rates~month+year,data=houseIndex)
round(rateMatrix[,1:4],digits=4)
yearmean <- colMeans(rateMatrix)
barplot(yearmean,main="HPI的平均年增长率",xlab="年",ylab="平均年增长率")
mouthmean <- rowMeans(rateMatrix)
plot(1:12,mouthmean,type="b",main="HPI的平均月增长率",xlab="月",ylab="平均月增长率")

2.6绘制一个箱线图,来查看HPI的增长率的分布情况。

boxplot(houseIndex$rates,ylab="HPI Increase Rate")

R语言入门第四集 实验三:数据可视化相关推荐

  1. R语言入门第五集 实验四:数据分析

    R语言入门第五集 实验四:数据分析 一.资源 [R语言]R语言函数练习--东北大学大数据班R实训第四次作业 R语言:常用apply函数(apply,tapply,sapply,lapply)用法介绍 ...

  2. R语言入门第六集 实验五:综合应用

    R语言入门第六集 实验五:综合应用 一.资源 [R语言]沈阳地铁数据处理及站间流量统计--R语言第五次实训 lubridate-轻松处理日期时间 数据整理-dplyr包(mutate系列) CEILI ...

  3. R语言入门第三集 实验二:基本数据处理

    R语言入门第三集 实验二:基本数据处理 一.资源 [R语言]R语言数据处理--东北大学大数据班R实训第二次作业 二.答案更新纠正 2.11.从df中选取date . item_id . cate_id ...

  4. Linux入门第四集!Jar包的入门、使用、部署!怎么打Jar包?

    Linux入门第四集!Jar包的入门.使用.部署!怎么打Jar包? 一.首先要确保JDK8已经安装成功 Linux入门第三集!JDK8的Linux版本资源分享!jdk-8u301-linux-x64. ...

  5. 【R语言】实验三 数据可视化

    系列文章目录 实验一 R 语言数据结构.数据导入与数据处理 实验二 基本数据处理 实验三 数据可视化 实验四 数据分析 实验五 综合应用 实验数据 实验数据下载 1. death rate 数据集 选 ...

  6. Linux入门第五集!MySQL8在Linux上的安装!MySQL的Linux资源分享!

    Linux入门第五集!MySQL8在Linux上的安装!MySQL的Linux资源分享! 一.Mysql的Linux版本下载! 博主采用的是mysql-8.0.25-1.el7.x86_64.rpm- ...

  7. Android 入门第四讲03-列表RecyclerView(RecyclerView使用步骤(详),RecyclerView指定一行item的数目+指定一行item的数量,并且设置列表方向)

    Android 入门第四讲03-列表RecyclerViewRecyclerView使用步骤(详),RecyclerView指定一行item的数目+指定一行item的数量,并且设置列表方向) 1.Re ...

  8. 四库全书总目提要 卷一百八十四 集部三十七

    四库全书总目提要 卷一百八十四 集部三十七 2011年08月02日 ○别集类存目十一 △<湖海集>·十三卷(山东巡抚采进本) 国朝孔尚任撰.尚任有<节序同风录>,已著录.尚任官 ...

  9. c程序语言第四版实验报告,C语言程序设计第四次实验报告

    C语言程序设计第四次实验报告 姓名:熊毅 实验地点:家 实验时间:2020.04.09 实验项目: 5.3.1练习2 求数列的前n项和 5.3.2练习2 求水仙花数 5.3.4 十进制转换 5.3.5 ...

最新文章

  1. xml c libxml类库使用
  2. 【PC工具】U盘SD卡测试工具,速度测试,坏块测试查找
  3. Interface Collector
  4. lduan SCCM 2012 介绍及SQL部署(一)
  5. SQL Server如何链接到 Oracle并查询其中的数据?并实现做接口
  6. android R编译Super镜像时报错问题分析和定位
  7. 装饰者模式 php,php装饰者模式简单应用案例分析
  8. 博弈论与逻辑思维(传教士与妻子忠贞的问题)
  9. Sql Server获取数据库名,表信息,字段信息,主键信息等
  10. 如何去掉windows2003的自动锁定(每离开一会都会出现这个界面,不想让它出现)...
  11. 3 月书讯丨如果我早点看到这套书,数学也不会学成这个鬼样子
  12. 理解之软件需求说明书
  13. 汇编语言 大小比较 理解 ja jna jg jle
  14. 【程序思考】人穷志短,千古名言
  15. 【过关斩将】高胜寒带你理清 “为什么从上家公司离职?”
  16. python3抓取aqi
  17. 听见丨哈罗单车完成10亿元人民币D2轮融资,复星领投 场景化AI应用服务公司百可录完成A轮融资
  18. linux快速解压缩,快速了解linux压缩与解压
  19. (2) [保护模式]段描述符
  20. Android刘海屏、水滴屏全面屏适配详解,android开发权威指南

热门文章

  1. opencv-python 使用掩模抠图
  2. RS485,RS232,USB,Ethernet 传输速度分别是多少
  3. 输出字符数字空格个数
  4. pycharm 链接wsl和 wsl 配置cuda nvidia
  5. jittor和pytorch生成网络对比之acgan
  6. BZOJ3529: [Sdoi2014]数表(莫比乌斯反演 树状数组)
  7. Linux下Java开发环境的搭建Tomcat6+jdk6+eclipse3.5.2+Myeclipse9.0+mysql5.1.47
  8. .NET平台开源项目速览(17)FluentConsole让你的控制台酷起来
  9. Discuz X2论坛数据库MyISAM转InnoDB的脚本
  10. SQL 时间类型转字符串格式列表