【Udacity】3,3,22,转换数据

我们碰到的很多数据变量中都存在很长的尾巴,有一些数据会出现高于中位数很多倍的数据,这种数据我们称之为数据过离散。通常需要对这些数据进行变换,才能看到标准偏差或者量级,实际上我们在缩短尾巴。
1、先看看我们最初的图形

qplot(x=friend_count,data=pf)

这里写图片描述
我们可以通过取对数来变换此变量,使用自然对数。以2为底的对数或者以10 为底的对数。
我们可以使用平方根,这样可以让我们更清楚的看清模式,不被长尾分散注意力。
2、对变量进行常规汇总

summary(pf$friend_count)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    0.0    31.0    82.0   196.4   206.0  4923.0 

3、对变量进行常规对数

summary(log10(pf$friend_count))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   -Inf   1.491   1.914    -Inf   2.314   3.692 

这里数据看起来有些异常,最小值和平均值是负无穷。这是因为有些用户的好友数为0,当0取对数是为负无穷。
4、为避免以上情况,我们对数据+1

summary(log10(pf$friend_count+1))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.000   1.505   1.919   1.868   2.316   3.692 

5、使用另一个函数,对变量进行平方根处理

summary(sqrt(pf$friend_count))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.000   5.568   9.055  11.088  14.353  70.164 

6、在一个图像上创建三个直方图
在一个图中创建所有三个直方图之前,你需要运行以下代码:

install.packages('gridExtra') 
library(gridExtra) 

1、使用包裹器

> p1=qplot(x=friend_count,data=pf)
> p2=qplot(x=log10(pf$friend_count+1),data = pf)
> p3=qplot(x=sqrt(pf$friend_count),data = pf)
> grid.arrange(p1,p2,p3,ncol=1)

这里写图片描述
同样的ggplot代码:使用标度层

> d1 <- ggplot(aes(x=friend_count),data=pf)+geom_histogram()
> d2 <- p1+scale_x_log10()
> d3 <- p1+scale_x_sqrt()
> grid.arrange(d1,d2,d3,nclo=1)

7、看一下使用包裹器和使用标度层的图形的区别

logscal <- qplot(x=log10(pf$friend_count+1),data = pf)
countscale <- ggplot(aes(x=friend_count),data=pf)+
  geom_histogram()+
  scale_x_log10()
grid.arrange(logscal,countscale,nclo=2,top="main title")

在一个图像内输出多个图形
线性回归
在一个轴添加对数或者sqrt对数
正态分布
数据的对数转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值