R数据分析----rattle Exploring Data

作为数据分析者,我们需要熟悉数据的意义和分布,甚至在建立模型之前,我们就可以通过一定的技术手段发现数据中存在额有意义的信息。通过探索数据(包括数据的最大最小值,平均值,以及分布规律),我们可以更好的理解数据。通过探索数据,我们可以处理数据中存在的一些问题,比如缺失值、噪声、错误的数据和偏差分布的数据。

rattle是R的数据数据分析工具包,我们可以通过文本视区的运行结果对数据进行可视化,探索属性间的关联性。在rattle的explore工具栏提供了我们需要的理解数据的工具。

1.数据总结

下图展示了rattle中explore按钮的可选项。我们开始数据探索基于Summary选项,它提供了数据的文本统计信息。

我们在Data选项中按执行按钮,在Explore中选Summary选项后按执行按钮,结果如下:

通常,有时候我们会处理非常大的数据集,可视化会花费很大的计算成本。所以在数据中随机抽取一些样本来代替整体的数据。在Data工具栏的Partition选项就可以这样选择,下面的例子随机抽取了weather的20% 的数据。

> dim(weather)
[1] 366  24

> set.seed(42)
> smpl <- sample(nrow(weather),0.2*nrow(weather))
> dim(weather[smpl,])
[1] 73 24

  我们看到weather数据集整体有366行,24列,采样后有73个样本,24个属性。

这里是简单的举个大数据集采样的例子,366个样本是很小的,我们不需要进行采样就可以。

基本的统计信息

最简单的统计输出方式是用summary()函数,下面我们看weather的24个属性的7,8,9属性值:

  > summary(weather[7:9])
    Sunshine       WindGustDir  WindGustSpeed  
 Min.   : 0.000   NW     : 73   Min.   :13.00  
 1st Qu.: 5.950   NNW    : 44   1st Qu.:31.00  
 Median : 8.600   E      : 37   Median :39.00  
 Mean   : 7.909   WNW    : 35   Mean   :39.84  
 3rd Qu.:10.500   ENE    : 30   3rd Qu.:46.00  
 Max.   :13.600   (Other):144   Max.   :98.00  
 NA's   :3        NA's   :  3   NA's   :2      
> 

  对于数值型变量,它列出了属性的最小值,最大值,均值,中间值,以及一分位和三分位均值,空值等。通常的情况下,均值和中间的偏差比较大,我们会认为一些样本在某个特定方向上偏离了均值点(一些大的正负样本值,通常我们称之为离群点)。

对于类别型变量将会列出最频繁出现的几项,剩下的在other选项里。在上例中,WindGustDir属性的NW有73个样本,NNW有44个属性,依次等等。所有属性的缺失值的数量将会在最后列出NA‘S。

2.数据可视化分布

通过绘制图形我们可以更容易理解数据,更生动的表达数据信息,比列表形式的统计形式更直白有效。可视化研究的工具可以帮助我们理解数据的特点,指引我们以更合适的方式转换属性,选择我们感兴趣的属性值。R为数据的可视化提供了有力的工具,并且我们可以交互式生成我们需要的图形,可操作性更强。在rattle的Explore工具栏下类型选项的Distribution下,我们可以随意选择想要绘制的属性选项,如果选择多个属性,那么也可以每个页面多图绘制。默认情况下,每个窗口绘制四个图形。

在Data选项加载weather数据集(直接按执行按钮),并切换到Explore工具栏下,选到Distribution,生成图如下:

对于数值型变量,我们可以绘制属性的箱体图(Box Plot),直方图(Histogram),Cumulative Function plot(累积函数图)

对于类别型变量,我们可以绘制属性的条形图(Bar Plot),点图(Dot Plot),马赛克图(Mosaic)

 

我们选取Rainfall和Sunshine两个属性的Box PLot(箱体图):

接下来我们分别详细分析下box plot、Histogram、cumulative Distribution PLot(累积分布)、Benford's Law(检测奇异点),Bar plot

,Dot plot,Mosaic plot(马赛克)和Pairs and Scatter plot(散点图)。

2.1Box plot(箱体图)

Rattle的箱体图比R的基本绘图提供了一些额外的统计信息。下图中我们选择属性Humidity3pm,Raintomorrow作为目标属性箱体的宽度表示了目标属性值的分布。

我们在图中标出了基本的统计信息,最右边箱体区间值为76-40,最大、最小值基于中值不能超过箱体区间的1.5倍(最大值=<56+(74-40)*1.5),超出区域的点为离群点,如左边两个箱体最上边的黑圆点。箱体的缺口为中值的95%的置信区间(56-56*5%<x<56+56*5%).

Rattle的Log标签给出了详细的运行代码:

# Rattle timestamp: 2017-05-08 15:58:55 x86_64-w64-mingw32 

# Display box plots for the selected variables. 

# Use ggplot2 to generate box plot for Humidity3pm

# Generate a box plot.

p01 <- crs %>%
  with(dataset[,]) %>%
  dplyr::mutate(RainTomorrow=as.factor(RainTomorrow)) %>%
  ggplot2::ggplot(ggplot2::aes(y=Humidity3pm)) +
  ggplot2::geom_boxplot(ggplot2::aes(x="All"), notch=TRUE, fill="grey") +
  ggplot2::stat_summary(ggplot2::aes(x="All"), fun.y=mean, geom="point", shape=8) +
  ggplot2::geom_boxplot(ggplot2::aes(x=RainTomorrow, fill=RainTomorrow), notch=TRUE) +
  ggplot2::stat_summary(ggplot2::aes(x=RainTomorrow), fun.y=mean, geom="point", shape=8) +
  ggplot2::xlab("RainTomorrow\n\nRattle 2017-5月-08 15:58:55 zhilei") +
  ggplot2::ggtitle("Distribution of Humidity3pm\nby RainTomorrow") +
  ggplot2::theme(legend.position="none")

# Display the plots.

gridExtra::grid.arrange(p01)

  我们可以将命令拷贝到控制台窗口,根据需要手动修改命令绘制出自己想要的图形。

 

转载于:https://www.cnblogs.com/lizhilei-123/p/6759382.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值