EDA1:codebook

資料分析前需要檢視資料本身有無問題,例如有無遺失值,也要先看看變項的次數分配。有幾個套件用一行語法就可以很方便的產生這些統計數字與統計圖,甚至也可產生資料的codebook,方便進行資料的對照與整理。

summarytools

library(summarytools)
view(dfSummary(iris),file='iris_summary.html')

dataMaid

library(dataMaid)
makeDataReport(iris,output="html",replace=TRUE,codebook = TRUE)

makeCodebook(iris,file="iris_dataMaid1.rmd")

此套件需要LaTex將報告轉成pdf,所以需要先安裝LaTex。

DataExplorer

library(DataExplorer)
create_report(iris,output_file = 'iris_eda.html')
  • result

sjPlot

library(sjPlot)
view_df(iris,file="iris_sjPlot.html") 
  • result

sjmisc

library(sjmisc)
descr(iris,out="viewer",file="iris_sjmisc_descr.html") 

  • 另外,用此套件的frq()也可看變項的詳細次數分配
frq(iris) 
frq(iris,out="viewer",encoding="UTF-8",file="iris_sjmisc.html")

skimr

skimr::skim(iris)
Data summary
Name iris
Number of rows 150
Number of columns 5
_______________________
Column type frequency:
factor 1
numeric 4
________________________
Group variables None

Variable type: factor

skim_variable n_missing complete_rate ordered n_unique top_counts
Species 0 1 FALSE 3 set: 50, ver: 50, vir: 50

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Sepal.Length 0 1 5.84 0.83 4.3 5.1 5.80 6.4 7.9 ▆▇▇▅▂
Sepal.Width 0 1 3.06 0.44 2.0 2.8 3.00 3.3 4.4 ▁▆▇▂▁
Petal.Length 0 1 3.76 1.77 1.0 1.6 4.35 5.1 6.9 ▇▁▆▇▂
Petal.Width 0 1 1.20 0.76 0.1 0.3 1.30 1.8 2.5 ▇▁▇▅▃

skimr::skim(data) 不能處理haven_labelled的類型,會轉成character

memisc

  • 雖然此套件的函數名稱用了codebook,但是其產生結果離社會研究的codebook較遠。
library(memisc)
# codebook
codebook(iris)
# 輸出成html
write_html(codebook(iris),file="iris_memisc.html")
# 輸出成純文字檔
Write(codebook(iris),file="iris_memisc.txt")
  • result