搜索
查看: 603|回复: 0

[R] <R for Data Science> 读书笔记3 | 第五章: 探索性数据分析(1)

[复制链接]

3

主题

3

帖子

46

积分

新手上路

Rank: 1

积分
46
发表于 2018-10-17 19:46:20 | 显示全部楼层 |阅读模式
准备工作
library(tidyverse)
5.2 问题
1.变量本身会发生何种变动
2.不同变量之间会发生何种相关变动
5.3 变动
5.3.1对分布进行可视化表示
检查分类变量的分布,可使用条形图:
ggplot(data=diamonds)+geom_bar(mapping=aes(x=cut))
检查连续变量的分布,可使用直方图
ggplot(data=diamonds)+
geom_histogram(mapping=aes(x=carat),binwidth=0.5)
#只考虑重量小于3克拉的钻石,并选择更小的分箱宽度。
smaller<-diamonds%>%
filter(carat<3)
ggplot(data=smaller,mapping=aes(x=carat))+
geom_histogram(binwidth = 0.1)
#在同一张图上叠加多个直方图:geom_freqploy()使用折线表示
ggplot(data=smaller,mapping=aes(x=carat,color=cut))+
geom_freqpoly(binwidth=0.1)
5.3.2典型值
5.3.3异常值
ggplot(diamonds)+
geom_histogram(mapping=aes(x=y),binwidth = 0.5)
发现异常值:
#使用coord_cartesian()函数将y轴靠近0的部分放大
ggplot(diamonds)+
geom_histogram(mapping=aes(x=y),binwidth = 0.5)+
coord_cartesian(ylim=c(0,50))
#同理用xlim可放大x轴
#0,30左右,60左右为异常值,使用dplyr将他们找出来
unusual<-diamonds%>%
filter(y<3|y>20)%>%
arrange(y)
unusual
使用带有异常值和不带异常值的数据分别进行分析。
如果结果相差不大,可用缺失值代替异常值
如果结果显著差别,不可随意舍弃,需弄清出现异常值的原因并说明
5.3 练习
#1.研究x、y、z在diamonds数据集中的分布,发现?
ggplot(diamonds)+
geom_histogram(mapping=aes(x=x),binwidth = 0.5)
ggplot(diamonds)+
geom_histogram(mapping=aes(x=z),binwidth = 0.5)
#2.研究price的分布,注意考虑binwidth参数
ggplot(diamonds)+
geom_histogram(mapping=aes(x=price),binwidth = 5)+
coord_cartesian(xlim=c(1250,1750))
#结果:1450-1550的价格区间内无
#3. 0.99克拉的钻石有多少,1克拉的钻石有多少,原因是?
ggplot(diamonds)+
geom_histogram(mapping=aes(x=carat),binwidth=0.01)+
coord_cartesian(xlim=c(0.985,1.005))
unusual<-diamonds%>%
filter(carat==0)
unusual%>%
count(carat)
#0.99克拉的钻石没有,1克拉的钻石有1558个




上一篇:第10章 使用stringr处理字符串
下一篇:小白在用WGCNA进行多组织样本的时候产生了一些疑问
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-8-23 07:26 , Processed in 0.026908 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.