# --- Input data ---
perlakuan <- rep(c("T0", "T1", "T2", "T3"), each = 6)
nilai <- c(
5.96, 9.77, 5.61, 7.58, 8.40, 7.78, # T0
14.02, 14.47, 13.98, 13.87, 14.12, 12.55, # T1
9.67, 9.67, 6.04, 6.44, 6.28, 5.96, # T2
4.85, 4.64, 5.61, 4.95, 5.24, 4.95 # T3
)
data <- data.frame(perlakuan, nilai)
# --- ANOVA ---
model <- aov(nilai ~ perlakuan, data = data)
anova_res <- anova(model)
print(anova_res)
## Analysis of Variance Table
##
## Response: nilai
## Df Sum Sq Mean Sq F value Pr(>F)
## perlakuan 3 256.327 85.442 54.868 7.827e-10 ***
## Residuals 20 31.145 1.557
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# --- Uji Lanjut Duncan (DMRT) ---
library(agricolae)
duncan <- duncan.test(model, "perlakuan", group = TRUE)
print(duncan)
## $statistics
## MSerror Df Mean CV
## 1.557241 20 8.43375 14.79644
##
## $parameters
## test name.t ntr alpha
## Duncan perlakuan 4 0.05
##
## $duncan
## Table CriticalRange
## 2 2.949998 1.502879
## 3 3.096506 1.577518
## 4 3.189616 1.624952
##
## $means
## nilai std r se Min Max Q25 Q50 Q75
## T0 7.516667 1.5485305 6 0.5094508 5.61 9.77 6.3650 7.68 8.2450
## T1 13.835000 0.6621405 6 0.5094508 12.55 14.47 13.8975 14.00 14.0950
## T2 7.343333 1.8102891 6 0.5094508 5.96 9.67 6.1000 6.36 8.8625
## T3 5.040000 0.3397646 6 0.5094508 4.64 5.61 4.8750 4.95 5.1675
##
## $comparison
## NULL
##
## $groups
## nilai groups
## T1 13.835000 a
## T0 7.516667 b
## T2 7.343333 b
## T3 5.040000 c
##
## attr(,"class")
## [1] "group"
# --- Hitung FK (F-Korelasi) & KK (Koefisien Keragaman) ---
JK_perlakuan <- anova_res["perlakuan", "Sum Sq"]
JK_galat <- anova_res["Residuals", "Sum Sq"]
FK <- JK_perlakuan / JK_galat
mean_val <- mean(data$nilai)
mse <- deviance(model) / df.residual(model)
KK <- sqrt(mse) / mean_val * 100
cat("FK:", round(FK, 1), "\n")
## FK: 8.2
cat("KK:", round(KK, 1), "%\n")
## KK: 14.8 %
# --- Tabel ringkas rata-rata + huruf Duncan ---
# Jika hasil grouping ada
# Ambil hasil Duncan
# --- Tabel ringkas rata-rata + huruf Duncan ---
hasil_ringkas <- data.frame(
Perlakuan = rownames(duncan$groups),
Rata_rata = round(as.numeric(duncan$groups$nilai), 2),
Simbol = duncan$groups$groups
)
# Urutkan dari rata-rata terbesar ke terkecil
hasil_ringkas <- hasil_ringkas[order(-hasil_ringkas$Rata_rata), ]
print(hasil_ringkas)
## Perlakuan Rata_rata Simbol
## 1 T1 13.84 a
## 2 T0 7.52 b
## 3 T2 7.34 b
## 4 T3 5.04 c
# --- Input data ---
perlakuan <- rep(c("T0", "T1", "T2", "T3"), each = 6)
nilai <- c(
5.96, 9.77, 5.61, 7.58, 8.40, 7.78, # T0
14.02, 14.47, 13.98, 13.87, 14.12, 12.55, # T1
9.67, 9.67, 6.04, 6.44, 6.28, 5.96, # T2
4.85, 4.64, 5.61, 4.95, 5.24, 4.95 # T3
)
data <- data.frame(perlakuan, nilai)
# --- ANOVA ---
model <- aov(nilai ~ perlakuan, data = data)
anova_res <- anova(model)
print(anova_res)
## Analysis of Variance Table
##
## Response: nilai
## Df Sum Sq Mean Sq F value Pr(>F)
## perlakuan 3 256.327 85.442 54.868 7.827e-10 ***
## Residuals 20 31.145 1.557
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# --- Uji Lanjut Duncan (DMRT) ---
library(agricolae)
duncan <- duncan.test(model, "perlakuan", group = TRUE)
print(duncan)
## $statistics
## MSerror Df Mean CV
## 1.557241 20 8.43375 14.79644
##
## $parameters
## test name.t ntr alpha
## Duncan perlakuan 4 0.05
##
## $duncan
## Table CriticalRange
## 2 2.949998 1.502879
## 3 3.096506 1.577518
## 4 3.189616 1.624952
##
## $means
## nilai std r se Min Max Q25 Q50 Q75
## T0 7.516667 1.5485305 6 0.5094508 5.61 9.77 6.3650 7.68 8.2450
## T1 13.835000 0.6621405 6 0.5094508 12.55 14.47 13.8975 14.00 14.0950
## T2 7.343333 1.8102891 6 0.5094508 5.96 9.67 6.1000 6.36 8.8625
## T3 5.040000 0.3397646 6 0.5094508 4.64 5.61 4.8750 4.95 5.1675
##
## $comparison
## NULL
##
## $groups
## nilai groups
## T1 13.835000 a
## T0 7.516667 b
## T2 7.343333 b
## T3 5.040000 c
##
## attr(,"class")
## [1] "group"
# =====================================================
# === Perhitungan FK manual (Correction Factor) ===
# =====================================================
GT <- sum(data$nilai) # Grand total
treat <- length(unique(data$perlakuan)) # Jumlah perlakuan
rep <- length(data$nilai) / treat # Jumlah ulangan
FK_manual <- (GT^2) / (treat * rep)
cat("Faktor Koreksi (FK manual):", round(FK_manual, 2), "\n")
## Faktor Koreksi (FK manual): 1707.08
# =====================================================
# === Perhitungan F hitung dari ANOVA ===
# =====================================================
KT_perlakuan <- anova_res["perlakuan", "Mean Sq"]
KT_galat <- anova_res["Residuals", "Mean Sq"]
Fhitung <- KT_perlakuan / KT_galat
cat("Fhitung (F ratio):", round(Fhitung, 2), "\n")
## Fhitung (F ratio): 54.87
# =====================================================
# === Koefisien Keragaman (KK) ===
# =====================================================
mean_val <- mean(data$nilai)
mse <- KT_galat
KK <- sqrt(mse) / mean_val * 100
cat("Koefisien Keragaman (KK):", round(KK, 2), "%\n")
## Koefisien Keragaman (KK): 14.8 %
# =====================================================
# === Tabel ringkas rata-rata + huruf Duncan ===
# =====================================================
hasil_ringkas <- data.frame(
Perlakuan = rownames(duncan$groups),
Rata_rata = round(duncan$groups$nilai, 2),
Simbol = duncan$groups$groups
)
# Urutkan dari rata-rata terbesar ke terkecil
hasil_ringkas <- hasil_ringkas[order(-hasil_ringkas$Rata_rata), ]
print(hasil_ringkas)
## Perlakuan Rata_rata Simbol
## 1 T1 13.84 a
## 2 T0 7.52 b
## 3 T2 7.34 b
## 4 T3 5.04 c