#DATA (baris = Merek Tablet, kolom = Pelarut)#
Y <- matrix(c(46.18, 54.54, 56.63,
57.69, 71.57, 81.51,
48.61, 51.01, 80.02),
nrow=3, byrow=TRUE,
dimnames=list(Merek_Tablet=c("CDR","Redoxon","Enervon-C"),
Jenis_Pelarut=c("Air Biasa","Air Soda","Air Kelapa")))
Y
## Jenis_Pelarut
## Merek_Tablet Air Biasa Air Soda Air Kelapa
## CDR 46.18 54.54 56.63
## Redoxon 57.69 71.57 81.51
## Enervon-C 48.61 51.01 80.02
#ANAVA 2 ARAH TANPA INTERAKSI#
anava2arah_tanpa <- function(Y, alpha=0.05){
a <- nrow(Y)
b <- ncol(Y)
N <- a*b
FK <- sum(Y)^2/N
JKT <- sum(Y^2) - FK
JK_A <- sum(rowSums(Y)^2)/b - FK
JK_B <- sum(colSums(Y)^2)/a - FK
JKG <- JKT - JK_A - JK_B
db <- c(a-1, b-1, (a-1)*(b-1), N-1)
JK <- c(JK_A, JK_B, JKG, JKT)
KT <- JK/db
F <- c(KT[1:2]/KT[3], NA, NA)
Ft <- c(qf(1-alpha, db[1:2], db[3]), NA, NA)
p <- c(pf(F[1:2], db[1:2], db[3], lower.tail=FALSE), NA, NA)
hasil <- data.frame(Sumber=c("Merek Tablet","Jenis Pelarut","Galat","Total"),
db, JK, KT, F_hit=F, F_tabel=Ft, p_value=p)
print(hasil, digits=5, na.print="", row.names=FALSE)
}
anava2arah_tanpa(Y)
## Sumber db JK KT F_hit F_tabel p_value
## Merek Tablet 2 479.96 239.979 4.2696 6.9443 0.101762
## Jenis Pelarut 2 733.92 366.960 6.5287 6.9443 0.054991
## Galat 4 224.83 56.207 NA NA NA
## Total 8 1438.70 179.838 NA NA NA
#PEMBANDING DENGAN FUNGSI BAWAAN R#
data <- as.data.frame(as.table(Y))
anova(aov(Freq ~ Merek_Tablet + Jenis_Pelarut, data=data))
## Analysis of Variance Table
##
## Response: Freq
## Df Sum Sq Mean Sq F value Pr(>F)
## Merek_Tablet 2 479.96 239.98 4.2696 0.10176
## Jenis_Pelarut 2 733.92 366.96 6.5287 0.05499 .
## Residuals 4 224.83 56.21
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1