資料彙總丨數析學院
問題
在R中,如何對分組的資料進行彙總(統計其均值、方差等)?
指南
下文中將介紹三種可用於對根據特定變數分組後的資料分別呼叫匯總函式(例如均值、標準差等等)的方法。
ddply()函式:這是最為簡便的方法,需要呼叫plyr包,我們在此大力推薦大家使用。
summarizeBy()函式:這也是個相對簡單的方法,需要呼叫doBy包。
aggregate()函式:這個函式內建於R的原封安裝中,相對來說使用起來會較為複雜一點。
假設我們擁有如下資料,根據資料中樣本性別和條件的不同,我們可以將其分為F-placebo、F-aspirin、M-placebo和M-aspirin四個組別。我們的任務是,分別統計每個組別中的樣本個數、變數change的均值、標準差以及其均值標準誤。
使用ddply
如果資料中存在確實值NA,那我們就需要對每一個函式設定引數na.rm=TRUE。函式length()沒有內建na.rm選項,所以對於這種情況我們需要使用sum(!is.na(...))語句,來確認資料集中有多少的非缺失值。
一個用於樣本計數以及計算均值、標準差、均值標準誤和置信區間的函式
有時我們不需要像上文所述方法一樣手動的取指定我們需要用於標準差計算的值,構建一個函式便能幫我們搞定以下所有的事:
計算均值、計算標準差、樣本計數
計算均值標準誤(友情提示,這個值在計算過程中不會用到組內變數。更多詳情見../../Graphs/Plotting means and error bars (ggplot2))
計算95%的置信區間(或是其他你所需求的數值)
對列進行重新命名從而使結果資料集更便於進一步的操作
為了使用這個函式,我們需要在進行計算前先把下面的程式碼貼上到自己的程式中:
運用例項:summarySE函式幫你一步搞定
有些時候,彙總資料框中會存在一些空的因素組合情況,也就是說,這些組合理論上是可以存在的,但是並沒有實際出現在我們的原始資料集中。有時,我們需要在資料框中用NA值對將這樣的組合對應的內容進行替換填充。要完成這一點,我們需要在呼叫ddply和summarySE的相關語句時設定引數.drop=FALSE。
運用例項:
使用summarizeBy()對資料進行摺疊彙總:
需要注意的是,這樣的均值標準誤並不適用於組內變數的比較更多詳情見../../Graphs/Plotting means and error bars (ggplot2)。
如果資料中存在缺失值NA,那我們就需要對每一個函式設定引數na.rm=TRUE。函式length()沒有內建na.rm選項,所以對於這種情況我們需要使用sum(!is.na(...))語句,來確認資料集中有多少的非缺失值。
一個用於樣本計數以及計算均值、標準差、均值標準誤和置信區間的函式
和對ddply包的使用類似的,通過組合運用doBy包中的函式,我們也可以構建一個類似的函式summarySE,幫我們搞定以下所有的事:
計算均值、計算標準差、樣本計數
計算均值標準誤(友情提示,這個值在計算過程中不會用到組內變數。更多詳情見../../Graphs/Plotting means and error bars (ggplot2))
計算95%的置信區間(或是其他你所需求的數值)
對列進行重新命名從而使結果資料集更便於進一步的操作
為了使用這個函式,我們需要在進行計算前先把下面的程式碼貼上到自己的程式中:
運用例項:summarySE函式幫你一步搞定
有些時候,彙總資料框中會存在一些空的因素組合情況,也就是說,這些組合理論上是可以存在的,但是並沒有實際出現在我們的原始資料集中。有時,我們需要在資料框中用NA值對將這樣的組合對應的內容進行替換填充。
下面的函式將幫助我們將0值填充入所有的空缺組合對應的內容:
運用例項:
aggregate函式使用起來可能相對繁瑣一些,但由於它是R自帶的內建函式,因而我們在使用它之前不必安裝其他的程式包。
如果你想要無視資料集中存在的NA值,請設定引數na.rm=TRUE,如下所示:
掃描關注「資料工匠」微訊號:
相關文章
- TensorFlow學習資料彙總
- 資料彙總
- 彙總資料
- 00_Zotero學習資料彙總
- EJS資料彙總JS
- Kotlin學習資料彙總(持續更新...)Kotlin
- SAP Commerce(SAP Hybris)學習資料彙總
- 資料科學與Python(習題彙總)資料科學Python
- JavaScript資料方法彙總JavaScript
- 水稻資料庫彙總資料庫
- 前端學習資源彙總前端
- TensorFlow學習資源彙總
- React學習資源彙總React
- go學習資源彙總Go
- Flutter學習資源彙總Flutter
- Wasserstein Generative adversarial Networks (WGANs) 學習WGAN資料彙總
- 突擊學習之資料庫基礎彙總資料庫
- Elasticsearch搜尋資料彙總Elasticsearch
- 引數彙總
- ApacheCN 學習資源彙總 2019.1Apache
- 【資源】史上最全資料集彙總
- Java程式設計師面試學習資料彙總Java程式設計師面試
- 資料統計指令碼(彙總)指令碼
- 資料預處理方法彙總
- CVE-2014-6271資料彙總
- 資料探勘-預測模型彙總模型
- 隱私計算資料彙總
- Latex使用——Latex資料彙總整理
- 前端佈局方式彙總及概念淺析前端
- Web前端學習路線資料彙總,Web前端培訓學校Web前端
- 虛幻引擎學習資源彙總
- surging教學視訊資源彙總
- 入門大資料---大資料調優彙總大資料
- 時序資料庫 TDengine 3.0 引數體系使用方式彙總資料庫
- Redis基本資料型別命令彙總Redis資料型別
- mysql資料庫最佳化彙總MySql資料庫
- 如何學習資料結構和演算法——大佬文章彙總資料結構演算法
- 【Python學習教程】常用的Python資料視覺化庫彙總!Python視覺化
- 前端學習資源彙總(持續更新)前端