1. 程式人生 > >用各種工具對資料進行分類彙總

用各種工具對資料進行分類彙總

資料分類彙總的方法有很多種,工具也有很多,這次為大家一一介紹,各種工具如何進行分類彙總,大家自行判斷,覺得哪種最好用,就用哪種,畢竟工具不重要,高效出結果才最重要。

為了方便舉例,所用的資料集就是鸞尾花資料集,5個欄位(Sepal.Length、Sepal.Width、Petal.Length、Petal.Width、Species),每個欄位150個觀測值,

1)根據Species來計算各種型別的花萼的長度均值

1.Excel—資料透視表

在Excel中選擇插入—資料透視表—選中所有的資料——在右側的行標籤選中Species,數值選擇Sepal.Length,值欄位設定計算型別為平均值



2.SPSS—分析—個案彙總

將資料匯入spss中,選擇分析——個案彙總



在分組變數中選擇Species,在變數中選擇Sepal.Length,在統計量中選擇均值,記得不要勾選顯示個案哦!輸出結果如下:


可以看到資料沒有缺失值,彙總結果在圖表中展示。SPSS操作偏傻瓜式,比較好上手,輸出結果也很直觀。

3.  R—aggregate()函式

載入dplyr包,使用aggregate()函式,選定統計的欄位、分類的欄位以及統計函式程式碼如下:

> result<-aggregate(x=iris$Sepal.Length, by= list(iris$Species), FUN = mean)
> result
     Group.1     x
1     setosa 5.006
2 versicolor 5.936
3  virginica 6.588

R語言的優勢不言而喻,一行程式碼出結果,直觀,唯一的缺陷是沒有對合計值求均值。

2)對花瓣的長度Petal.Length進行分類,0~2定義為短,3~4定義為正常,5~6定義為長,然後統計各種型別的各種情況

1.Excel實現,ifelse函式+資料透視表

首先定義出花瓣情況:IF(D2>=4,"長",IF(D2>=3,"正常","短"))


然後輸出統計結果


這裡的目錄分為兩級,一級是種類,二級是花瓣情況,分別統計了各種情況花瓣的數量和對應均值

2)SPSS—轉換—重新編碼為不同變數+個案彙總



輸出花瓣情況後,選擇個案彙總,將Species和花瓣情況都選入分組變數,變數中輸入Petal.Length,統計量選擇個案數和均值



輸出個案彙總結果

3. R實現:需要用到within函式和aggregate函式,利用within函式定義出長、正常、短,利用aggregate函式按照Species和花瓣情況計算均值

testdata<-within(  
  iris,{  
    a<-NA  
    a[iris$Petal.Length<=2]<-"短"
    a[iris$Petal.Length<=4&iris$Petal.Length>=2]<-"正常"
    a[iris$Petal.Length>4]<-"長"
  }  
)
aggregate(testdata$Petal.Length,by=list(testdata$Species,testdata$a),FUN="mean")
> aggregate(testdata$Petal.Length,by=list(testdata$Species,testdata$a),FUN="mean")
     Group.1 Group.2        x
1     setosa      短 1.462000
2 versicolor      長 4.517647
3  virginica      長 5.552000
4 versicolor    正常 3.712500
統計數量的話有一個table函式,一行程式碼搞定,
> table(list(testdata$Species,testdata$a))
            .2
.1           短 長 正常
  setosa     50  0    0
  versicolor  0 34   16
  virginica   0 50    0

直接對Species和花瓣情況統計,可以很直觀看到彙總結果。

以上就是對分類彙總分享的內容,有問題歡迎溝通討論!