Perbandingan Dua Vektor Nilai Tengah Sampel Berpasangan
Memisahkan Data dari Populasi 1 dan 2
data_daring <- dataset[,1:2]
data_luring <- dataset[,3:4]
Menghitung vektor rataan dan matriks kovarians
xbar1 = apply(data_daring, 2, mean)
xbar1
## Daring_Teori Daring_Praktik
## 62.86588 57.18726
xbar2 = apply(data_luring, 2, mean)
xbar2
## Luring_Teori Luring_Praktik
## 65.89817 58.77645
cov_m1 = cov(data_daring)
cov_m1
## Daring_Teori Daring_Praktik
## Daring_Teori 102.6125993 -0.5359109
## Daring_Praktik -0.5359109 133.5326911
cov_m2 = cov(data_luring)
cov_m2
## Luring_Teori Luring_Praktik
## Luring_Teori 175.77439 24.41551
## Luring_Praktik 24.41551 155.96229
n1 = nrow(data_daring)
n2 = nrow(data_luring)
# S Gabungan
s_gab = ((n1-1)*cov_m1 + (n2-1)*cov_m2)/(n1+n2-2)
s_gab
## Daring_Teori Daring_Praktik
## Daring_Teori 139.1935 11.9398
## Daring_Praktik 11.9398 144.7475
Uji T2 Hotelling Dua Populasi Sampel Berpasangan
library(Hotelling)
## Loading required package: corpcor
t2_homogen = hotelling.test(data_daring, data_luring, var.equal=TRUE)
t2_homogen
## Test stat: 0.78348
## Numerator df: 2
## Denominator df: 37
## P-value: 0.6855
Selang Kepercayaan Simultan
T.ci = function(mu1, mu2, S_gab, n1, n2, avec=rep(1,length(mu1)), level=0.95){
p = length(mu1)
mu = mu1 - mu2
cval = qf(level, p, n1+n2-p-1) * p * (n1+n2-2) / (n1+n2-p-1)
zhat = crossprod(avec, mu)
zvar = crossprod(avec, S_gab %*% avec) * (1/n1 + 1/n2)
const = sqrt(cval * zvar)
c(lower = zhat - const, upper = zhat + const)
}
# Teori
T.ci(xbar1, xbar2, s_gab, n1, n2, avec=c(1,0), level=0.95)
## lower upper
## -12.674698 6.610122
# Praktik
T.ci(xbar1, xbar2, s_gab, n1, n2, avec=c(0,1), level=0.95)
## lower upper
## -11.42209 8.24371
Selang Kepercayaan Bonferroni
bon = function(mu1, mu2 ,S, n1, n2, alpha, k){
p = length(mu1)
mu = mu1 - mu2
lower = mu[k] - sqrt((S[k,k]) *(1/n1+1/n2))* abs(qt(alpha/(2*p), df=n1+n2-2))
upper = mu[k] + sqrt((S[k,k]) *(1/n1+1/n2))* abs(qt(alpha/(2*p), df=n1+n2-2))
ci = c(lower = lower, upper = upper)
names(ci)= c("lower","upper")
ci
}
# Teori
bon(xbar1, xbar2, s_gab, n1, n2, 0.05, 1)
## lower upper
## -11.739085 5.674509
# Praktik
bon(xbar1, xbar2, s_gab, n1, n2, 0.05, 2)
## lower upper
## -10.467994 7.289614
Perbandingan Dua Vektor Nilai Tengah Sampel Saling Bebas Ragam
Sama
Memisahkan data dari Populasi 1 dan 2
pop1 <- dataset1[,1:2]
pop2 <- dataset1[,3:4]
Menghitung vektor rataan dan matriks kovarians
xbar1 <- colMeans(pop1); xbar1
## Pop1_X1 Pop1_X2
## 62.86588 57.18726
xbar2 <- colMeans(pop2); xbar2
## Pop2_X1 Pop2_X2
## 65.89817 58.77645
cov1 <- cov(pop1); cov1
## Pop1_X1 Pop1_X2
## Pop1_X1 102.6125993 -0.5359109
## Pop1_X2 -0.5359109 133.5326911
cov2 <- cov(pop2); cov2
## Pop2_X1 Pop2_X2
## Pop2_X1 175.77439 24.41551
## Pop2_X2 24.41551 155.96229
n1 <- nrow(pop1)
n2 <- nrow(pop2)
# S Gabungan
s_gab <- ((n1-1)*cov1 + (n2-1)*cov2)/(n1+n2-2)
s_gab
## Pop1_X1 Pop1_X2
## Pop1_X1 139.1935 11.9398
## Pop1_X2 11.9398 144.7475
Uji T2 Hotelling Dua Populasi Ragam Sama
library(Hotelling)
t2_homogen <- hotelling.test(pop1, pop2, var.equal=TRUE)
t2_homogen
## Test stat: 0.78348
## Numerator df: 2
## Denominator df: 37
## P-value: 0.6855
Selang Kepercayaan Simultan
T.ci = function(mu1, mu2, S_gab, n1, n2, avec=rep(1,length(mu1)), level=0.95){
p = length(mu1)
mu = mu1 - mu2
cval = qf(level, p, n1+n2-p-1) * p * (n1+n2-2) / (n1+n2-p-1)
zhat = crossprod(avec, mu)
zvar = crossprod(avec, S_gab %*% avec) * (1/n1 + 1/n2)
const = sqrt(cval * zvar)
c(lower = zhat - const, upper = zhat + const)
}
# X1
T.ci(xbar1, xbar2, s_gab, n1, n2, avec=c(1,0), level=0.95)
## lower upper
## -12.674698 6.610122
# X2
T.ci(xbar1, xbar2, s_gab, n1, n2, avec=c(0,1), level=0.95)
## lower upper
## -11.42209 8.24371
Selang Kepercayaan Bonferroni
bon = function(mu1, mu2 ,S, n1, n2, alpha, k){
p = length(mu1)
mu = mu1 - mu2
lower = mu[k] - sqrt((S[k,k]) *(1/n1+1/n2))* abs(qt(alpha/(2*p), df=n1+n2-2))
upper = mu[k] + sqrt((S[k,k]) *(1/n1+1/n2))* abs(qt(alpha/(2*p), df=n1+n2-2))
ci = c(lower = lower, upper = upper)
names(ci)= c("lower","upper")
ci
}
# X1
bon(xbar1, xbar2, s_gab, n1, n2, 0.05, 1)
## lower upper
## -11.739085 5.674509
# X2
bon(xbar1, xbar2, s_gab, n1, n2, 0.05, 2)
## lower upper
## -10.467994 7.289614
Perbandingan Dua Vektor Nilai Tengah Sampel Saling Bebas Ragam Tidak
Sama
Memisahkan data dari populasi 1 dan 2
pop1 <- dataset2[,1:2]
pop2 <- dataset2[,3:4]
Menghitung vektor rataan dan matriks kovarians
xbar1 <- colMeans(pop1); xbar1
## Pop1_X1 Pop1_X2
## 52.77829 55.86586
xbar2 <- colMeans(pop2); xbar2
## Pop2_X1 Pop2_X2
## 60.94597 63.71463
cov1 <- cov(pop1); cov1
## Pop1_X1 Pop1_X2
## Pop1_X1 69.142296 5.653242
## Pop1_X2 5.653242 86.828349
cov2 <- cov(pop2); cov2
## Pop2_X1 Pop2_X2
## Pop2_X1 217.99157 46.60925
## Pop2_X2 46.60925 188.44134
Uji T2 Hotelling Dua Populasi Ragam Tidak Sama
t2_heterogen <- hotelling.test(pop1, pop2, var.equal=FALSE)
t2_heterogen
## Test stat: 7.6928
## Numerator df: 2
## Denominator df: 31.5259166090171
## P-value: 0.03473