[R]讀取sav檔產生SPSS的敘述統計表

本文範例出處來自 俞洪亮等人(2012)「商管研究資料分析:SPSS的應用」,使用R語言來模擬SPSS報表產生的結果。

quality.sav檔內容為高鐵設施的意見調查(共175件樣本)、其問項因子有五:

  • 高鐵車站的動線標示清楚 (X1 )。
  •  高鐵車廂乾淨清潔 (X2 )。
  • 高鐵服務人員服裝賞心悅目 (X3 )。
  • 高鐵服務人員的態度輕切 (X4 )。
  • 乘坐高鐵非常舒適 (X5 )。 •

以李克特5點尺度為量度(5為非常滿意,1為非常不滿意)。

程式碼:

#安裝參考:https://cran.r-project.org/web/packages/haven/readme/README.html
#install.packages("tidyverse")
#install.packages("haven")
require("haven")
sample <- read_spss("spss/quality.sav") #會自動抓當前專案根目錄,讀取sav檔
#View(sample)
#class(sample
#typeof(sample)
#sample[[1]]
result <- matrix(0, nrow = 5, ncol = 3) #定義一個空矩陣(元素為0)
rownames(result) = c("動線標示", "車廂乾淨", "人員服裝", "人員態度", "舒適")  #列表頭名稱
colnames(result) = c("平均數","標準差","分析個數")  #行表頭名稱
for (findex in 1:length(sample)) {   #將陣列元素重新給予新的值
    result[[findex,1]] = round(mean(sample[[findex]]), digits = 4) #每一行的平均數,取小數後四位進行四捨五入
    result[[findex, 2]] = gsub("0\\.", "\\.", round(sd(sample[[findex]]), digits = 5)) #每一行的標準差,取小數後五位進行四捨五入   
    result[[findex,3]] = length(sample[[findex]]) #取得每一行的資料個數
}
result

執行結果:

參考來源:

俞洪亮等人(2012)「商管研究資料分析:SPSS的應用」

http://yhhuang1966.blogspot.com/2017/12/r_24.html

https://stackoverflow.com/questions/20309876/r-how-to-replace-in-a-string/20314179