R數據分析----rattle Exploring Data

做爲數據分析者,咱們須要熟悉數據的意義和分佈,甚至在創建模型以前,咱們就能夠經過必定的技術手段發現數據中存在額有意義的信息。經過探索數據(包括數據的最大最小值,平均值,以及分佈規律),咱們能夠更好的理解數據。經過探索數據,咱們能夠處理數據中存在的一些問題,好比缺失值、噪聲、錯誤的數據和誤差分佈的數據。函數

rattle是R的數據數據分析工具包,咱們能夠經過文本視區的運行結果對數據進行可視化,探索屬性間的關聯性。在rattle的explore工具欄提供了咱們須要的理解數據的工具。工具

1.數據總結大數據

下圖展現了rattle中explore按鈕的可選項。咱們開始數據探索基於Summary選項,它提供了數據的文本統計信息。3d

咱們在Data選項中按執行按鈕,在Explore中選Summary選項後按執行按鈕,結果以下:blog

一般,有時候咱們會處理很是大的數據集,可視化會花費很大的計算成本。因此在數據中隨機抽取一些樣原本代替總體的數據。在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個屬性。it

這裏是簡單的舉個大數據集採樣的例子,366個樣本是很小的,咱們不須要進行採樣就能夠。io

基本的統計信息class

最簡單的統計輸出方式是用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)

  咱們能夠將命令拷貝到控制檯窗口,根據須要手動修改命令繪製出本身想要的圖形。

相關文章
相關標籤/搜索