호텔링 T^2 통계량을 통한 검정, 호텔링의 활용
---------------------
두 집단간 평균 벡터 비교 검정
# 패키지 불러오기
library(readxl)
# 데이터 불러오기
data <- read_excel("D:/mydata/PCA용.xlsx", sheet = "Sheet1")
# 두 그룹으로 나누기
group1 <- subset(data, 홈런율 >= 2)
group2 <- subset(data, 홈런율 < 2)
# 분석에 사용할 변수들
vars <- c("컨택률", "스윙률", "타구속도")
X1 <- na.omit(group1[, vars])
X2 <- na.omit(group2[, vars])
# 샘플 수와 평균 벡터
n1 <- nrow(X1)
n2 <- nrow(X2)
x1_bar <- colMeans(X1)
x1_bar
x2_bar <- colMeans(X2)
x2_bar
# 공분산 행렬과 pooled 공분산
S1 <- cov(X1)
S2 <- cov(X2)
Sp <- ((n1 - 1) * S1 + (n2 - 1) * S2) / (n1 + n2 - 2)
# Hotelling T^2 계산
d <- x1_bar - x2_bar
T2 <- as.numeric((n1 * n2) / (n1 + n2) * t(d) %*% solve(Sp) %*% d)
# F 통계량으로 변환
p <- length(vars)
F_stat <- (n1 + n2 - p - 1) * T2 / ((n1 + n2 - 2) * p)
df1 <- p
df2 <- n1 + n2 - p - 1
p_value <- pf(F_stat, df1, df2, lower.tail = FALSE)
# 결과 출력
cat("Hotelling's T² 통계량:", T2, "\n")
cat("F 통계량:", F_stat, "\n")
cat("p-value:", p_value, "\n")
----------------------------------------
호텔링 통계량의 활용