数据分析——当你拿到数据,开始要做什么?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kidpea_lau/article/details/82771918

数据整理是获取原数据,理解这些数据,清洗它们。 通常第一步我们拿到数据,很多人非常着急的马上开始研究如何建模分析,实际上,一开始整理数据非常重要。数据的准备阶段通常有:合并数据集和记录、选择数据子集样本、汇总记录、导出新的属性、排序数据以便建模、删除或替换空白值或缺失值、分为训练数据集和测试数据集等...而整理之前,花时间多了解你拿到的 数据对下一步整理,有很大的好处!

本文整理一下在R语言处理数据时候 几个比较容易理解新数据的步骤。 

有关这方面的,非常建议大家看一下:Makingdata science accessible – Data Munging   

下面用 ls()里面的数据来进行演示:

> ls()

打开 后看到有一个包含plants的数据。

第一步,是了解你拿到的数据是什么类型(class function)和其大概规模(dim  / nrow and ncol、object.size)。

> class(plants)
[1] "data.frame"

> dim(plants)
[1] 5166   10

> nrow(plants)
[1] 5166

> ncol(plants)
[1] 10

> object.size(plants)
644232 bytes

接下来,知道总框架后肯定是开始慢慢深入细节,names() 和 head()还有 tail()便可。 

> names(plants)
 [1] "Scientific_Name"     
 [2] "Duration"            
 [3] "Active_Growth_Period"
 [4] "Foliage_Color"       
 [5] "pH_Min"              
 [6] "pH_Max"              
 [7] "Precip_Min"          
 [8] "Precip_Max"          
 [9] "Shade_Tolerance"     
[10] "Temp_Min_F"  

> head(plants)
               Scientific_Name
1                  Abelmoschus
2       Abelmoschus esculentus
3                        Abies
4               Abies balsamea
5 Abies balsamea var. balsamea
6                     Abutilon
           Duration Active_Growth_Period
1              <NA>                 <NA>
2 Annual, Perennial                 <NA>
3              <NA>                 <NA>
4         Perennial    Spring and Summer
5         Perennial                 <NA>
6              <NA>                 <NA>
  Foliage_Color pH_Min pH_Max Precip_Min
1          <NA>     NA     NA         NA
2          <NA>     NA     NA         NA
3          <NA>     NA     NA         NA
4         Green      4      6         13
5          <NA>     NA     NA         NA
6          <NA>     NA     NA         NA
  Precip_Max Shade_Tolerance Temp_Min_F
1         NA            <NA>         NA
2         NA            <NA>         NA
3         NA            <NA>         NA
4         60        Tolerant        -43
5         NA            <NA>         NA
6         NA            <NA>         NA
> tail(plants,10)

看完首尾的大概细节数据,特别是出现非常多NA,大多会希望了解具体每个列的数据总体概况。所以接下来,summary()就可以知道。

> summary(plants)
                    Scientific_Name
 Abelmoschus                 :   1  
 Abelmoschus esculentus      :   1  
 Abies                       :   1  
 Abies balsamea              :   1  
 Abies balsamea var. balsamea:   1  
 Abutilon                    :   1  
 (Other)                     :5160  
              Duration   
 Perennial        :3031  
 Annual           : 682  
 Annual, Perennial: 179  
 Annual, Biennial :  95  
 Biennial         :  57  
 (Other)          :  92  
 NA's             :1030  
           Active_Growth_Period
 Spring and Summer   : 447     
 Spring              : 144     
 Spring, Summer, Fall:  95     
 Summer              :  92     
 Summer and Fall     :  24     
 (Other)             :  30     
 NA's                :4334     
      Foliage_Color      pH_Min     
 Dark Green  :  82   Min.   :3.000  
 Gray-Green  :  25   1st Qu.:4.500  
 Green       : 692   Median :5.000  
 Red         :   4   Mean   :4.997  
 White-Gray  :   9   3rd Qu.:5.500  
 Yellow-Green:  20   Max.   :7.000  
 NA's        :4334   NA's   :4327   
     pH_Max         Precip_Min   
 Min.   : 5.100   Min.   : 4.00  
 1st Qu.: 7.000   1st Qu.:16.75  
 Median : 7.300   Median :28.00  
 Mean   : 7.344   Mean   :25.57  
 3rd Qu.: 7.800   3rd Qu.:32.00  
 Max.   :10.000   Max.   :60.00  
 NA's   :4327     NA's   :4338   
   Precip_Max         Shade_Tolerance
 Min.   : 16.00   Intermediate: 242  
 1st Qu.: 55.00   Intolerant  : 349  
 Median : 60.00   Tolerant    : 246  
 Mean   : 58.73   NA's        :4329  
 3rd Qu.: 60.00                      
 Max.   :200.00                      
 NA's   :4338                        
   Temp_Min_F    
 Min.   :-79.00  
 1st Qu.:-38.00  
 Median :-33.00  
 Mean   :-22.53  
 3rd Qu.:-18.00  
 Max.   : 52.00  
 NA's   :4328   

也可以用table()来了解每列内部每个参数出现的次数 


> table(plants$Active_Growth_Period)
Fall, Winter and Spring 
                     15 
                 Spring 
                    144 
        Spring and Fall 
                     10 
      Spring and Summer 
                    447 
   Spring, Summer, Fall 
                     95 
                 Summer 
                     92 
        Summer and Fall 
                     24 
             Year Round 
                      5

若你处理一些大型的数据,建议用str。其是一个简单通用的诊断函数,可以代替summary函数,特别是想查看一些“大型、数据紧凑、内嵌套列表的列表”

> str(plants)
'data.frame':	5166 obs. of  10 variables:
 $ Scientific_Name     : Factor w/ 5166 levels "Abelmoschus",..: 1 2 3 4 5 6 7 8 9 10 ...
 $ Duration            : Factor w/ 8 levels "Annual","Annual, Biennial",..: NA 4 NA 7 7 NA 1 NA 7 7 ...
 $ Active_Growth_Period: Factor w/ 8 levels "Fall, Winter and Spring",..: NA NA NA 4 NA NA NA NA 4 NA ...
 $ Foliage_Color       : Factor w/ 6 levels "Dark Green","Gray-Green",..: NA NA NA 3 NA NA NA NA 3 NA ...
 $ pH_Min              : num  NA NA NA 4 NA NA NA NA 7 NA ...
 $ pH_Max              : num  NA NA NA 6 NA NA NA NA 8.5 NA ...
 $ Precip_Min          : int  NA NA NA 13 NA NA NA NA 4 NA ...
 $ Precip_Max          : int  NA NA NA 60 NA NA NA NA 20 NA ...
 $ Shade_Tolerance     : Factor w/ 3 levels "Intermediate",..: NA NA NA 3 NA NA NA NA 2 NA ...
 $ Temp_Min_F          : int  NA NA NA -43 NA NA NA NA -13 NA ...

猜你喜欢

转载自blog.csdn.net/kidpea_lau/article/details/82771918