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")
# Gunakan library
library(googlesheets4) # Jika ingin import data dari spreadsheet
DataSapi<-read_sheet("https://docs.google.com/spreadsheets/d/1dIuj3MwHgd0BBB9JShhAdKR7uFUPBwz4XwWSOUhVCAw/edit?hl=id&gid=0#gid=0",sheet="Pengenalan") # 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
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")
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.
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.70368302
## 2 2 0.98870679
## 3 3 0.13463869
## 4 4 0.09128905
## 5 5 0.36135406
## 6 6 0.33132371
## 7 1 0.46965844
## 8 2 0.18166409
## 9 3 0.09036528
## 10 4 0.99434084
## 11 5 0.26268767
## 12 6 0.04965269
## 13 1 0.33590503
## 14 2 0.58422070
## 15 3 0.88106018
## 16 4 0.44631886
## 17 5 0.92555271
## 18 6 0.81955943
## 19 1 0.23546515
## 20 2 0.78908673
## 21 3 0.87222430
## 22 4 0.99741636
## 23 5 0.77462726
## 24 6 0.73709237
sorted<-Rand[order(Rand$AngkaRandom),]
sorted
## Perlakuan AngkaRandom
## 12 6 0.04965269
## 9 3 0.09036528
## 4 4 0.09128905
## 3 3 0.13463869
## 8 2 0.18166409
## 19 1 0.23546515
## 11 5 0.26268767
## 6 6 0.33132371
## 13 1 0.33590503
## 5 5 0.36135406
## 16 4 0.44631886
## 7 1 0.46965844
## 14 2 0.58422070
## 1 1 0.70368302
## 24 6 0.73709237
## 23 5 0.77462726
## 20 2 0.78908673
## 18 6 0.81955943
## 21 3 0.87222430
## 15 3 0.88106018
## 17 5 0.92555271
## 2 2 0.98870679
## 10 4 0.99434084
## 22 4 0.99741636
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\))
# lower.tail=T akan membuat nilai Z negatif, karena akan menghitung kuantil dari kiri
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
\[ 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