Akses Data di sini:
https://docs.google.com/spreadsheets/d/1Vy3fnvyHrovL_0IK2r17H9hOX232P7a2G8GA-0-3iA0/edit?usp=sharing
Import data
Contoh data berat sapi Holstein (Torrie,1980)
# library(readxl) -> Jika ingin import data dari excel
# Jika belum punya instal dengan fungsi (hilangkan pagar):
# install.packages("readxl")
library(readxl)
DataSapi<-read_xlsx("D:/Rancob/DataFull.xlsx",sheet="Sapi") # Tempat file disesuaikan
DataSapi
## # A tibble: 14 × 2
## `Berat Sapi Kontrol` `Berat Sapi Vitamin A`
## <dbl> <dbl>
## 1 175 142
## 2 132 311
## 3 218 337
## 4 151 262
## 5 200 302
## 6 219 195
## 7 234 253
## 8 149 199
## 9 187 236
## 10 123 216
## 11 248 211
## 12 206 176
## 13 179 249
## 14 206 214
Menampilkan ringkasan data
summary(DataSapi$`Berat Sapi Kontrol`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 123.0 157.0 193.5 187.6 215.0 248.0
summary(DataSapi$`Berat Sapi Vitamin A`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 142.0 202.0 226.0 235.9 259.8 337.0
Membuat Histogram
par(mfrow=c(1,2)) # Membagi halaman
hist(DataSapi$`Berat Sapi Kontrol`, main="Histogram Berat Sapi Kontrol", xlab="Berat", ylab="Frekuensi", col="lightblue", border="black")
hist(DataSapi$`Berat Sapi Vitamin A`, main="Histogram Berat Sapi Vitamin A", xlab="Berat", ylab="Frekuensi", col="lightgreen", border="black")
Membuat Boxplot
boxplot(DataSapi,
main="Boxplot Berat Sapi",
xlab="Kelompok",
ylab="Berat Sapi",
col=c("lightblue", "lightgreen"),
border="black")
Membuat Bar Chart
library(dplyr)
Data1 <- data.frame(
Kelompok = rep(c("Berat Sapi Kontrol", " Berat Sapi Vitamin A"), each = 14),
Berat_Sapi = c(DataSapi$`Berat Sapi Kontrol`, DataSapi$`Berat Sapi Vitamin A`)
)
summary_data <- Data1 %>%
group_by(Kelompok) %>%
summarise(
mean_berat = mean(Berat_Sapi),
se_berat = sd(Berat_Sapi) / sqrt(n()),
.groups = 'drop'
)
library(ggplot2)
ggplot(summary_data, aes(x = Kelompok, y = mean_berat, fill = Kelompok)) +
geom_bar(stat = "identity", width = 0.6, alpha = 0.8) +
geom_errorbar(aes(ymin = mean_berat - se_berat,
ymax = mean_berat + se_berat),
width = 0.2, size = 0.8) +
scale_fill_manual(values = c("Berat Sapi Kontrol" = "#3498db", " Berat Sapi Vitamin A" = "#e74c3c")) +
labs(
title = "Perbandingan Berat Sapi: Kontrol vs Vitamin A",
subtitle = "Error bar menunjukkan Standard Error",
x = "Kelompok Perlakuan",
y = "Berat Sapi (kg)",
fill = "Kelompok"
) +
theme_minimal()
Uji t
Sebanyak 28 ekor sapi Holstein dikelompokkan menjadi dua, kelompok pertama sebanyak 14 ekor sapi diberi vitamin A, sedangkan kelompok kedua tidak diberi vitamin A sebagai kontrol. Digunakan uji t untuk mengetahui perbedaan berat kedua kelompok sapi karena hanya terdapat dua perlakuan.
Hipotesis:
\(H_0\) : Tidak ada perbedaan antara
berat sapi kontrol dengan berat sapi vitamin A
\(H_1\) : Terdapat perbedaan antara
berat sapi kontrol dengan berat sapi vitamin A
t.test(x = DataSapi$`Berat Sapi Kontrol`,
y = DataSapi$`Berat Sapi Vitamin A`,
mu = 0,
conf.level = 0.95)
##
## Welch Two Sample t-test
##
## data: DataSapi$`Berat Sapi Kontrol` and DataSapi$`Berat Sapi Vitamin A`
## t = -2.7242, df = 23.306, p-value = 0.01201
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -84.92613 -11.64530
## sample estimates:
## mean of x mean of y
## 187.6429 235.9286
db<-length( DataSapi$`Berat Sapi Kontrol`)+length( DataSapi$`Berat Sapi Vitamin A`)-2
qt(0.975,db)
## [1] 2.055529
qt(0.025,db,lower.tail = FALSE)
## [1] 2.055529
Berdasarkan perhitungan uji t diperoleh p-value sebesar 0,012 yang lebih kecil dari taraf nyata 5% dan nilai t-kritis sebesar 2,05 yang lebih kecil dari |t-hitung| = 2.72, sehingga tolak \(H_0\) Maka dapat disimpulkan bahwa pada taraf nyata 5%, terdapat perbedaan berat antara kelompok sapi yang diberi vitamin A dengan yang tidak diberi vitamin A.
Model Umum
Model umum dengan notasi matrix
\[ E(\underline{y})=X\underline{\beta}+\underline{ε}, \underline{ε} \sim N(0,\sigma^2I),\underline{y} \sim N(X\underline{\beta},\sigma^2I) \]
Dimana:
\(\underline{y}\) = vektor pengamatan
respon.
\(X\) = matrix model yang berukuran nxp
dimana n adalah banyaknya pengamatan dan p adalah banyaknya parameter
dalam model.
\(\underline{\beta}\) = vektor
koefisien model.
\(\underline{ε}\) = vektor dari error
(komponen acak).
\(\sigma^2\) = galat percobaan.
Pengacakan
Misalkan diketahui banyaknya perlakuan yang dicobakan adalah 6 dengan masing-masing 4 ulangan. Maka dibutuhkan 6x4 = 24 unit percobaan.
Rand<-data.frame(
Perlakuan = rep(1:6,4),
AngkaRandom = runif(24)
)
Rand
## Perlakuan AngkaRandom
## 1 1 0.58542860
## 2 2 0.21416264
## 3 3 0.71803321
## 4 4 0.43743365
## 5 5 0.03775364
## 6 6 0.63410490
## 7 1 0.54914131
## 8 2 0.27762238
## 9 3 0.85358911
## 10 4 0.92592455
## 11 5 0.13869141
## 12 6 0.66122437
## 13 1 0.94924984
## 14 2 0.57303067
## 15 3 0.08856329
## 16 4 0.27001403
## 17 5 0.06658735
## 18 6 0.78693293
## 19 1 0.51895229
## 20 2 0.99164252
## 21 3 0.34611815
## 22 4 0.32671240
## 23 5 0.80022708
## 24 6 0.92981580
sorted<-Rand[order(Rand$AngkaRandom),]
sorted
## Perlakuan AngkaRandom
## 5 5 0.03775364
## 17 5 0.06658735
## 15 3 0.08856329
## 11 5 0.13869141
## 2 2 0.21416264
## 16 4 0.27001403
## 8 2 0.27762238
## 22 4 0.32671240
## 21 3 0.34611815
## 4 4 0.43743365
## 19 1 0.51895229
## 7 1 0.54914131
## 14 2 0.57303067
## 1 1 0.58542860
## 6 6 0.63410490
## 12 6 0.66122437
## 3 3 0.71803321
## 18 6 0.78693293
## 23 5 0.80022708
## 9 3 0.85358911
## 10 4 0.92592455
## 24 6 0.92981580
## 13 1 0.94924984
## 20 2 0.99164252
Menentukan Ulangan
Formula 1
\[ r\geq 2(Z_{\alpha/2}+Z_{\beta})^2(\frac{\sigma}{\delta})^2 \]
Misalkan pada penelitian sebelumnya diketahui bahwa \(\sigma=3\). Berapakah ulangan yang diperlukan pada \(\alpha= 5%\) dan \(\beta=10%\) dan maksimal perbedaan rataan yang diinginkan adalah 5 (\(\delta=5\))
Za<-qnorm(0.05/2,lower.tail = FALSE)
Zb<-qnorm(0.1,lower.tail = FALSE)
r<-2*((Za+Zb)^2)*(3/5)^2
# ceiling untuk membulatkan ke atas
ceiling(r)
## [1] 8
# Bisa juga dibuat dalam bentuk fungsi
Ulangan<-function(alpha,beta,sigma,delta)
{
Za=qnorm(alpha/2,lower.tail=F)
Zb=qnorm(beta,lower.tail=F)
r=2*((Za+Zb)^2)*(sigma/delta)^2
return(ceiling(r))
}
Ulangan(0.05,0.10,3,5)
## [1] 8
Formula 2
Formula ini berdasarkan derajat bebas galat, digunakan pada penentuan ulangan dalam RAL \[ t(r-1)\geq15 \]
Misalkan perlakuan yang ingin dicobakan sebanyak 6 perlakuan. Berapakah ulangan minimal untuk masing-masing percobaan?
t<-6
r<-(15/t)+1
ceiling(r)
## [1] 4