搜索
查看: 737|回复: 0

[R] 9-10 R数据科学

[复制链接]

31

主题

36

帖子

1114

积分

金牌会员

Rank: 6Rank: 6

积分
1114
发表于 2018-9-10 22:50:44 | 显示全部楼层 |阅读模式
定义明确
变量:一种可测量数量、质量或属性
值:变量在测量时的状态
观测:或称 个案相同条件下进行的一组测量
表格数据:一组值的集合
变动:每次测量时数据值的变化趋势

变量的类型(分类/连续)决定变量分布的可视化的方法

实操(书本数据)
直方图
[AppleScript] 纯文本查看 复制代码
ggplot(diamonds)+
geom_histogram(aes(x = carat),binwidth = .5)

binwidth:设定直方图中间隔的宽度,以x轴变量的单位来度量,不同的分箱宽度可解释不同的模式,如
[AppleScript] 纯文本查看 复制代码
ggplot(diamonds)+
geom_histogram(aes(x = carat),binwidth = .1)


折线图
在同一张图上叠加多个直方图时,建议使用折线图,更易理解
[AppleScript] 纯文本查看 复制代码
ggplot(diamonds)+
geom_freqploy(aes(x = carat),binwidth = .5)

binwidth参数变大时,即 间隔变大时,折线更加平坦,那么如果要突出细节,binwidth应该设置的小一些比较合适

异常值的处理
异常值:即 异常的观测或模式之外的数据点
通过改变坐标轴的显示,可以更易发现异常值,从而进行相应的处理
通过coord_cartesian函数,放大y轴局部,能够更易发现异常值,以下两段代码,对于数据的展示即完全不同
[AppleScript] 纯文本查看 复制代码
ggplot(diamonds)+
  geom_histogram(aes(x=y),binwidth = .5)


[AppleScript] 纯文本查看 复制代码
ggplot(diamonds)+
  geom_histogram(aes(x=y),binwidth = .5)+
  coord_cartesian(ylim = c(0,50))


coord_cartesian函数与ggplot2的差异在于,ggplot2中的xlim() 和 ylim()会忽略溢出坐标轴范围的数据

练习
(1)
[AppleScript] 纯文本查看 复制代码
attach(diamonds)
index1 <- which(x >= z)
index3 <- which(x < z)
index2 <- which(y >= z)
index4 <- which(y < z)
length()

发现x、y、z分别有53940个值,x>=z和y>=z的有53938个值,仅两个小于z。
感觉对于钻石,x和y应该是长、宽,z应该是高度吧,这样形状是不是显得更大~~~

(2)
价格区间在5000以下的钻石是最多的,结合数量和价格,便宜的钻石反而利润是最高的
调整binwidth,低价区间内钻石在y轴上显示的数量发生了改变,见图,但是原因有点没明白

(3)
0.99克拉的钻石
[AppleScript] 纯文本查看 复制代码
filter(diamonds,carat == 0.99)


1克拉的钻石
[AppleScript] 纯文本查看 复制代码
filter(diamonds,carat == 1)



(4)
ylim()去除了溢出值








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



上一篇:R for Data Science-007 代码基础
下一篇:小洁详解《R数据科学》--第三章dplyr
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-10-14 22:24 , Processed in 0.030164 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.