Peubah acak normal X dengan rata-rata 5.0 dan simpangan baku 2.0, menentukan probabilitas bahwa X kurang dari 3.0.
pnorm(3, mean = 5, sd = 2)
## [1] 0.1586553
Program di atas menghitung probabilitas kumulatif sampai nilai 3 pada distribusi normal, sehingga output yang dihasilkan adalah peluang bahwa X < 3.
Menentukan probabilitas bahwa X lebih besar dari 4.5
1-pnorm(4.5, mean = 5, sd = 2)
## [1] 0.5987063
Program di atas menghitung probabilitas X > 4.5, dengan cara mengambil komplemen dari peluang kumulatif sampai 4.5, sehingga output menunjukkan peluang di sisi kanan.
qnorm(0.95, mean = 5, sd = 2)
## [1] 8.289707
Program di atas mencari nilai K, yaitu batas di mana 95% data berada di bawahnya, sehingga output adalah nilai K yang memenuhi P(X > K) = 0.05.
Jika melempar koin sebanyak 10 kali, tentukan probabilitas tidak munculnya sisi kepala sama sekali (distribusi binomial)
dbinom(0, size = 10, prob = 0.5)
## [1] 0.0009765625
Program di atas menghitung probabilitas tidak muncul kepala sama sekali dari 10 percobaan, sehingga output adalah peluang tepat 0 kejadian.
Menentukan probabilitas muncul tepat 5 kali sisi kepala
dbinom(5, size = 10, prob = 0.5)
## [1] 0.2460938
Program di atas menghitung probabilitas muncul tepat 5 kali kepala dari 10 percobaan, sehingga output adalah peluang kejadian tersebut.
Tentukan probabilitas muncul lebih dari 7 kali sisi kepala.
1 - pbinom(7, size = 10, prob = 0.5)
## [1] 0.0546875
Program di atas menghitung probabilitas muncul lebih dari 7 kali kepala, dengan cara mengambil komplemen dari peluang kumulatif sampai 7, sehingga output adalah peluang untuk nilai di atas 7.
Simulasikan sampel berisi 100 data acak dari distribusi normal dengan rata-rata 100 dan simpangan baku 5, lalu simpan hasilnya dalam sebuah vektor
# Simulasi 100 data dari distribusi normal
set.seed(123)
data <- rnorm(100, mean = 100, sd = 5)
# Melihat beberapa data pertama
head(data)
## [1] 97.19762 98.84911 107.79354 100.35254 100.64644 108.57532
Buat histogram dan boxplot dari vektor yang baru saja Anda buat (lihat Bagian 4.3.3 hal. 92 dan Bagian 4.3.5 hal. 95).
# Histogram
hist(data,
col = "lightblue",
main = "Histogram Data Simulasi",
xlab = "Nilai")
# Boxplot
boxplot(data,
col = "lightgreen",
main = "Boxplot Data Simulasi",
ylab = "Nilai")
Histogram menunjukkan sebaran data yang berbentuk mendekati simetris dan menyerupai distribusi normal, dengan puncak frekuensi berada di sekitar nilai tengah (sekitar 100), serta tidak terlihat adanya kemiringan ekstrem ke kiri atau kanan, sehingga data tersebar merata di sekitar rata-rata.
Boxplot menunjukkan median berada di tengah kotak dengan jarak antar kuartil yang seimbang, serta tidak terlihat pencilan (outlier) yang signifikan, sehingga dapat disimpulkan bahwa data relatif simetris dan tidak memiliki nilai ekstrem yang menyimpang jauh dari sebaran utama.
mean(data)
## [1] 100.452
sd(data)
## [1] 4.564079
Mean sebesar 100.452 menunjukkan bahwa rata-rata nilai data berada di sekitar 100, sehingga secara umum data terpusat di sekitar nilai tersebut dan keenam data yang diberikan memang berada tidak jauh dari rata-rata itu.
Standar deviasi sebesar 4.564079 menunjukkan bahwa penyebaran data dari rata-rata sekitar 4.56, sehingga variasi data tergolong kecil hingga sedang dan nilai-nilai data tidak terlalu jauh menyimpang dari rata-ratanya. ### 4. Mengitung median dan jangkauan interkuartil (interquartile range)
median(data)
## [1] 100.3088
IQR(data)
## [1] 5.928367
Median sebesar 100.3088 menunjukkan bahwa nilai tengah data berada sangat dekat dengan rata-rata, sehingga distribusi data cenderung simetris dan tidak condong ke kiri atau kanan.
IQR sebesar 5.928367 menunjukkan bahwa 50% data berada dalam rentang sekitar 5.93 satuan, sehingga sebagian besar data terkonsentrasi cukup rapat di sekitar pusat dan tidak memiliki penyebaran yang terlalu lebar.
Dengan data di atas, uji hipotesis bahwa rata-rata sama dengan 100 (gunakan t.test).
# H0: mean = 100
t.test(data, mu = 100)
##
## One Sample t-test
##
## data: data
## t = 0.99041, df = 99, p-value = 0.3244
## alternative hypothesis: true mean is not equal to 100
## 95 percent confidence interval:
## 99.54642 101.35764
## sample estimates:
## mean of x
## 100.452
Program di atas menggunakan t.test(data, mu = 100) untuk
menguji apakah rata-rata sampel berbeda dari 100, dengan hipotesis nol
bahwa mean = 100 dan alternatif bahwa mean tidak sama dengan 100.
Hasilnya menunjukkan nilai p-value = 0.3244 (> 0.05), sehingga gagal
tolak H0 , artinya tidak ada bukti yang cukup bahwa rata-rata berbeda
dari 100, dan hal ini juga didukung oleh interval kepercayaan 95% yang
mencakup nilai 100.
# H0: mean = 90
t.test(data, mu = 90)
##
## One Sample t-test
##
## data: data
## t = 22.901, df = 99, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 90
## 95 percent confidence interval:
## 99.54642 101.35764
## sample estimates:
## mean of x
## 100.452
Program di atas menggunakan t.test(data, mu = 90) untuk menguji apakah rata-rata sampel sama dengan 90 dengan hipotesis nol mean = 90. Hasilnya menunjukkan p-value sangat kecil (< 2.2e-16), sehingga H0 ditolak, artinya rata-rata data berbeda secara signifikan dari 90, yang juga didukung karena nilai rata-rata sampel (100.452) jauh dari 90 dan tidak berada dalam interval kepercayaan.
Ulangi dua pengujian di atas menggunakan uji Wilcoxon signed-rank. Bandingkan nilai p (p-value) dengan hasil dari uji t yang telah Anda lakukan.
# H0: mean/median = 100
wilcox.test(data, mu = 100)
##
## Wilcoxon signed rank test with continuity correction
##
## data: data
## V = 2763, p-value = 0.4142
## alternative hypothesis: true location is not equal to 100
# H0: mean/median = 90
wilcox.test(data, mu = 90)
##
## Wilcoxon signed rank test with continuity correction
##
## data: data
## V = 5048, p-value < 2.2e-16
## alternative hypothesis: true location is not equal to 90
Program di atas menggunakan wilcox.test() untuk menguji median terhadap 100 dan 90 sebagai alternatif nonparametrik dari uji t. Hasilnya menunjukkan bahwa untuk pengujian terhadap 100 diperoleh p-value = 0.4142 (> 0.05) sehingga gagal tola H0, sejalan dengan uji t sebelumnya, sedangkan untuk pengujian terhadap 90 diperoleh p-value sangat kecil (< 2.2e-16) sehingga H0 ditolak, juga konsisten dengan hasil uji t.
Gunakan fungsi t.test untuk membandingkan PupalWeight berdasarkan T_treatment. Menggunakan data hal 248.
set.seed(123)
# Jumlah data
n <- 84
# Variabel kategori
T_treatment <- sample(c("ambient", "elevated"), n, replace = TRUE)
CO2_treatment <- sample(c(280, 400), n, replace = TRUE)
Gender <- sample(c(0, 1), n, replace = TRUE)
# Variabel numerik (dibuat realistis)
PupalWeight <- rnorm(n, mean = 0.31, sd = 0.06)
Frass <- rnorm(n, mean = 0.25, sd = 0.05)
# Gabungkan jadi data frame
pupae <- data.frame(
T_treatment,
CO2_treatment,
Gender,
PupalWeight,
Frass
)
head(pupae)
## T_treatment CO2_treatment Gender PupalWeight Frass
## 1 ambient 400 1 0.3241232 0.2559623
## 2 ambient 400 0 0.3146777 0.2621844
## 3 ambient 280 1 0.2522886 0.3116238
## 4 elevated 280 1 0.3057215 0.2241968
## 5 ambient 400 1 0.3966731 0.2003746
## 6 elevated 280 1 0.3370902 0.3337848
# Jika ingin asumsi varians sama (seperti di materi)
t.test(PupalWeight ~ T_treatment, data = pupae, var.equal = TRUE)
##
## Two Sample t-test
##
## data: PupalWeight by T_treatment
## t = -0.72793, df = 82, p-value = 0.4687
## alternative hypothesis: true difference in means between group ambient and group elevated is not equal to 0
## 95 percent confidence interval:
## -0.03721360 0.01727515
## sample estimates:
## mean in group ambient mean in group elevated
## 0.3057960 0.3157653
Program di atas menggunakan
t.test(PupalWeight ~ T_treatment) untuk membandingkan
rata-rata PupalWeight antara dua kelompok yaitu ambient dan elevated.
Hasilnya menunjukkan p-value = 0.4687 (> 0.05) sehingga tidak ada
perbedaan rata-rata yang signifikan antara kedua kelompok, yang juga
terlihat dari nilai rata-rata yang hampir sama (0.3058 dan 0.3158) serta
interval kepercayaan yang mencakup nol.
wilcox.test(PupalWeight ~ T_treatment, data = pupae, exact = FALSE)
##
## Wilcoxon rank sum test with continuity correction
##
## data: PupalWeight by T_treatment
## W = 746, p-value = 0.3139
## alternative hypothesis: true location shift is not equal to 0
Program di atas menggunakan
wilcox.test(PupalWeight ~ T_treatment) untuk membandingkan
median PupalWeight antara kelompok ambient dan elevated sebagai
alternatif nonparametrik dari uji t.Hasilnya menunjukkan p-value =
0.3139 (> 0.05) sehingga tidak ada perbedaan yang signifikan antara
kedua kelompok, dan hasil ini konsisten dengan uji t sebelumnya.
set.seed(123)
base <- rnorm(20, 20, 5)
x <- base + rnorm(20,0,0.5)
y <- base + rnorm(20,1,0.5)
print(x,y)
## [1] 16.663709914245512 18.740125095254456 27.280539346592001 19.988096342477309
## [5] 20.333919041880101 27.731978279045201 22.723474552193274 13.751380385885588
## [9] 15.996667272026395 18.398597610035171 26.333641097935715 21.651533393790682
## [13] 22.451420083492771 20.992480323492121 17.631584867048371 29.278885811065436
## [17] 22.766211217914989 10.135958361563448 23.353798175948469 17.445807460854141
Dengan menggunakan uji t dua sampel, bandingkan rata-rata x dan y, dengan asumsi varians kedua sampel sama.
t.test(x, y, var.equal = TRUE)
##
## Two Sample t-test
##
## data: x and y
## t = -0.70564, df = 38, p-value = 0.4847
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -4.174019 2.016277
## sample estimates:
## mean of x mean of y
## 20.68249 21.76136
Program di atas menggunakan
t.test(x, y, var.equal = TRUE) untuk membandingkan
rata-rata dua sampel dengan asumsi varians sama. Hasilnya menunjukkan
p-value = 0.4847 (> 0.05) sehingga tidak ada perbedaan rata-rata yang
signifikan antara x dan y, yang juga terlihat dari selisih rata-rata
yang kecil (20.68 dan 21.76) serta interval kepercayaan yang mencakup
nol.
Ulangi langkah di atas menggunakan uji t berpasangan (paired t-test). Bagaimana perubahan nilai p?
t.test(x, y, paired = TRUE)
##
## Paired t-test
##
## data: x and y
## t = -8.0139, df = 19, p-value = 1.633e-07
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
## -1.3606441 -0.7970983
## sample estimates:
## mean difference
## -1.078871
Program di atas menggunakan t.test(x, y, paired = TRUE)
untuk membandingkan rata-rata dua sampel yang berpasangan dengan melihat
selisih tiap pasangan data.Hasilnya menunjukkan p-value sangat kecil
(1.633e-07 < 0.05) sehingga H0 ditolak, artinya terdapat perbedaan
yang signifikan antara x dan y, dan dibandingkan sebelumnya p-value
berubah dari tidak signifikan menjadi signifikan karena pendekatan
berpasangan mempertimbangkan hubungan antar data.
uji yang paling tepat adalah uji t berpasangan (paired t-test), karena data x dan y berasal dari pasangan pengamatan yang saling berhubungan (bukan dua sampel independen), sehingga analisis harus mempertimbangkan selisih tiap pasangan agar hasilnya lebih akurat.