Lab 03:Z 分數與直方圖

1. 載入套件

# 載入讀取 SPSS 資料的 haven 套件
library(haven)

2. 匯入 PISA 2022 資料

# 讀取 PISA 2022 台灣學生資料
pisa.dat <- read_spss("PISA_tawian2022_trimmed_lab.sav")

3. 查看資料結構及 ESCS 描述統計

# 查看 ESCS 變項的資料結構
str(pisa.dat$ESCS)
##  dbl+lbl [1:5599] -0.3221,  0.1565, -0.5738, -0.8179,  0.5111,  0.2871, -2....
##  @ label      : chr "Index of economic, social and cultural status"
##  @ format.spss: chr "F7.4"
##  @ labels     : Named num [1:4] 95 97 98 99
##   ..- attr(*, "names")= chr [1:4] "Valid Skip" "Not Applicable" "Invalid" "No Response"
# 計算 ESCS 的描述性統計
summary(pisa.dat$ESCS)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -3.8421 -0.9395 -0.2368 -0.2701  0.4393  4.2070

4. 計算 ESCS 的 Z 分數

Z 分數計算公式:

\[ Z = \frac{X-\bar{X}}{s} \]

# 使用 scale() 將 ESCS 標準化
# Z = (原始數值 - 平均數) / 標準差
# as.numeric() 將結果轉換為數值向量
pisa.dat$ESCS_z <- as.numeric(scale(pisa.dat$ESCS))

5. 計算 Z 分數的平均數與標準差

# 計算標準化後的平均數
z_mean <- mean(pisa.dat$ESCS_z, na.rm = TRUE)

# 計算標準化後的標準差
z_sd <- sd(pisa.dat$ESCS_z, na.rm = TRUE)

6. 將結果四捨五入至小數點後兩位

# 顯示 Z 分數平均數
round(z_mean, 2)
## [1] 0
# 顯示 Z 分數標準差
round(z_sd, 2)
## [1] 1

7. 查看 Z 分數的描述統計

# 查看標準化後的描述性統計
summary(pisa.dat$ESCS_z)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -3.94341 -0.73905  0.03678  0.00000  0.78318  4.94265

8. 繪製 Z 分數直方圖

# 繪製 Z 分數直方圖
hist(pisa.dat$ESCS_z,
     main = "Histogram of ESCS Z-scores",
     xlab = "ESCS Z-score",
     ylab = "Frequency",
     col = "lightblue",
     border = "white")

# 加入 Z = 0 的平均數參考線
abline(v = 0, col = "red", lwd = 2)

9. 資料分析摘要

本次分析使用 PISA 2022 台灣學生的 ESCS (經濟、社會與文化地位指數)進行 Z 分數標準化。

標準化後,Z 分數的平均數為 -0.00, 標準差為 1.00。

由直方圖可以觀察 ESCS 標準化後的資料分布情形。 紅色垂直線代表 Z = 0,也就是標準化後的平均數。