程式語法解釋

# 載入 haven 套件,用來讀取 SPSS 的 .sav 資料檔
library(haven)

# 讀取 PISA 2022 資料檔,並將資料儲存於 pisa 物件中
pisa <- read_sav("PISA_tawian2022_trimmed_lab.sav")

# 計算 ESCS 的平均數,na.rm = TRUE 表示排除遺漏值 NA
mean_ESCS <- mean(pisa$ESCS, na.rm = TRUE)

# 計算 ESCS 的標準差,用來了解資料相對於平均數的分散程度
sd_ESCS <- sd(pisa$ESCS, na.rm = TRUE)

# 找出 ESCS 的最大值
max_ESCS <- max(pisa$ESCS, na.rm = TRUE)

# 找出 ESCS 的最小值
min_ESCS <- min(pisa$ESCS, na.rm = TRUE)

# 計算 ESCS 的全距,全距 = 最大值 - 最小值
range_ESCS <- max_ESCS - min_ESCS

# 計算 ESCS 的中位數,表示排序後位於資料中央的數值
median_ESCS <- median(pisa$ESCS, na.rm = TRUE)

# 計算 ESCS 的四分位距 IQR,表示中間 50% 資料的分散範圍
IQR_ESCS <- IQR(pisa$ESCS, na.rm = TRUE)

# 將上述統計結果整理成資料表,並利用 round() 四捨五入至小數點後兩位
result <- data.frame(
  統計值 = c("均值", "標準差", "最大值", "最小值",
             "全距", "中位數", "IQR"),
  ESCS = round(c(mean_ESCS, sd_ESCS, max_ESCS, min_ESCS,
                 range_ESCS, median_ESCS, IQR_ESCS), 2)
)

# 顯示最後整理完成的描述性統計結果
result
##   統計值  ESCS
## 1   均值 -0.27
## 2 標準差  0.91
## 3 最大值  4.21
## 4 最小值 -3.84
## 5   全距  8.05
## 6 中位數 -0.24
## 7    IQR  1.38

語法說明

首先使用 library(haven) 載入 haven 套件,使 R 能夠讀取 SPSS 所使用的 .sav 格式資料,再利用 read_sav() 將 PISA 2022 資料讀入 R,並儲存在 pisa 物件中。

在統計分析部分,使用 mean() 計算平均數、sd() 計算標準差、max() 與 min() 分別取得最大值及最小值,並以最大值減去最小值計算全距。另外,使用 median() 計算中位數,以及 IQR() 計算四分位距。

各函數中設定 na.rm = TRUE,代表在計算統計量時排除遺漏值(NA),避免因資料中存在遺漏值而無法得到統計結果。

最後利用 data.frame() 將各項統計值整理成表格,並使用 round(..., 2) 將結果四捨五入至小數點後兩位。分析所得 ESCS 的平均數為 -0.27、標準差為 0.91、最大值為 4.21、最小值為 -3.84、全距為 8.05、中位數為 -0.24,而四分位距為 1.38。