#Distribusi Poisson
Y = rpois(n = 10, lambda = 4)
print(Y)
## [1] 2 4 4 4 4 4 3 1 0 3
X = rpois(n = 10, lambda = 4)
print(X)
## [1] 1 4 3 4 1 6 5 7 5 2
set.seed(0123)
Y = rpois(n = 10, lambda = 4)
print(Y)
## [1] 3 6 3 6 7 1 4 7 4 4
X = rpois(n = 10, lambda = 4)
print(X)
## [1] 8 4 5 4 2 7 3 1 3 8
#Distribusi Bernoulli
Z = rbinom(n=10, size=1, prob=0.3)
print(Z)
## [1] 1 0 0 1 0 1 0 0 0 0
library(ggplot2)
# Data Bernoulli
Z <- c(0, 1, 0, 0, 1, 0, 1, 0, 0, 1)
print(Z)
## [1] 0 1 0 0 1 0 1 0 0 1
# Menghitung jumlah Gagal dan Berhasil
data <- data.frame(
Hasil = c("Gagal", "Berhasil"),
Frekuensi = c(sum(Z == 0), sum(Z == 1))
)
# Grafik
ggplot(data, aes(x = Hasil, y = Frekuensi, fill = Hasil)) +
geom_col(width = 0.6) +
geom_text(
aes(label = Frekuensi),
vjust = -0.5,
size = 5,
fontface = "bold"
) +
scale_fill_manual(
values = c(
"Gagal" = "skyblue",
"Berhasil" = "orange"
)
) +
labs(
title = "Distribusi Bernoulli",
x = "Hasil",
y = "Frekuensi",
fill = "Hasil"
) +
theme_minimal() +
theme(
plot.title = element_text(
size = 16,
face = "bold",
hjust = 0.5
),
legend.position = "none"
)
library(ggplot2)
Z <- rbinom(n = 10, size = 1, prob = 0.3)
print(Z)
## [1] 1 1 0 1 0 0 1 0 0 0
data <- as.data.frame(table(Z))
colnames(data) <- c("Hasil", "Frekuensi")
ggplot(data, aes(x = "", y = Frekuensi, fill = Hasil)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") +
labs(
title = "Diagram Lingkaran Distribusi Bernoulli",
fill = "Hasil"
) +
scale_fill_manual(
values = c("0" = "lightblue", "1" = "lightpink"),
labels = c("0" = "Gagal", "1" = "Berhasil")
) +
theme_void()
library(ggplot2)
set.seed(123)
# Distribusi multinomial
Z <- rmultinom(
n = 1,
size = 10,
prob = c(0.4, 0.35, 0.25)
)
print(Z)
## [,1]
## [1,] 3
## [2,] 3
## [3,] 4
# Membuat data frame
data <- data.frame(
Kategori = c("Cash", "QRIS", "Transfer"),
Frekuensi = as.numeric(Z)
)
print(data)
## Kategori Frekuensi
## 1 Cash 3
## 2 QRIS 3
## 3 Transfer 4
# Diagram lingkaran
ggplot(data, aes(x = "", y = Frekuensi, fill = Kategori)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") +
labs(
title = "Distribusi Multinomial",
fill = "Kategori"
) +
scale_fill_manual(
values = c(
"Cash" = "skyblue",
"QRIS" = "orange",
"Transfer" = "lightgreen"
)
) +
theme_void()
library(ggplot2)
set.seed(123)
prob <- c(
0.05, 0.05, 0.05, 0.05, 0.05,
0.05, 0.05, 0.05, 0.05, 0.05,
0.05, 0.05, 0.05, 0.10, 0.10
)
Z <- rmultinom(
n = 1,
size = 100,
prob = prob
)
print(Z)
## [,1]
## [1,] 4
## [2,] 8
## [3,] 5
## [4,] 9
## [5,] 9
## [6,] 2
## [7,] 6
## [8,] 9
## [9,] 5
## [10,] 5
## [11,] 9
## [12,] 4
## [13,] 6
## [14,] 10
## [15,] 9
data <- data.frame(
Kategori = paste("Produk", 1:15),
Frekuensi = as.numeric(Z)
)
print(data)
## Kategori Frekuensi
## 1 Produk 1 4
## 2 Produk 2 8
## 3 Produk 3 5
## 4 Produk 4 9
## 5 Produk 5 9
## 6 Produk 6 2
## 7 Produk 7 6
## 8 Produk 8 9
## 9 Produk 9 5
## 10 Produk 10 5
## 11 Produk 11 9
## 12 Produk 12 4
## 13 Produk 13 6
## 14 Produk 14 10
## 15 Produk 15 9
ggplot(data, aes(x = "", y = Frekuensi, fill = Kategori)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") +
labs(
title = "Distribusi Multinomial 15 Kategori",
fill = "Kategori"
) +
scale_fill_manual(
values = c(
"Produk 1" = "red",
"Produk 2" = "blue",
"Produk 3" = "green",
"Produk 4" = "orange",
"Produk 5" = "purple",
"Produk 6" = "yellow",
"Produk 7" = "pink",
"Produk 8" = "cyan",
"Produk 9" = "brown",
"Produk 10" = "gray",
"Produk 11" = "magenta",
"Produk 12" = "limegreen",
"Produk 13" = "gold",
"Produk 14" = "darkblue",
"Produk 15" = "darkred"
)
) +
theme_void()
# ==========================================
# STUDI KASUS KUESIONER 50 RESPONDEN
# DISTRIBUSI MULTINOMIAL
# ==========================================
# 1. Data tingkat pendidikan
pendidikan <- c(
SD = 5,
SMP = 10,
SMA = 20,
Kuliah = 15
)
# 2. Data jenis pekerjaan
pekerjaan <- c(
"Pelajar/Mahasiswa" = 20,
PNS = 10,
Swasta = 12,
Wirausaha = 8
)
# ==========================================
# DIAGRAM BATANG PENDIDIKAN
# ==========================================
barplot(pendidikan,
main = "Tingkat Pendidikan 50 Responden",
xlab = "Tingkat Pendidikan",
ylab = "Jumlah Responden",
col = c("tomato", "skyblue", "lightgreen", "gold"))
# ==========================================
# PIE CHART PENDIDIKAN
# ==========================================
pie(pendidikan,
main = "Tingkat Pendidikan 50 Responden",
labels = paste(names(pendidikan),
pendidikan, "orang"),
col = c("tomato", "skyblue", "lightgreen", "gold"))
# ==========================================
# DIAGRAM BATANG PEKERJAAN
# ==========================================
barplot(pekerjaan,
main = "Jenis Pekerjaan 50 Responden",
xlab = "Jenis Pekerjaan",
ylab = "Jumlah Responden",
col = c("tomato", "skyblue", "lightgreen", "gold"))
# ==========================================
# PIE CHART PEKERJAAN
# ==========================================
pie(pekerjaan,
main = "Jenis Pekerjaan 50 Responden",
labels = paste(names(pekerjaan),
pekerjaan, "orang"),
col = c("tomato", "skyblue", "lightgreen", "gold"))
# =====================================================================
# 1. PENGATURAN DATA (Menggunakan data dari contoh sebelumnya)
# =====================================================================
set.seed(42)
kategori_pendidikan <- c("SD", "SMP", "SMA", "S1")
data_kampung <- sample(kategori_pendidikan, size = 10, replace = TRUE, prob = c(0.2, 0.2, 0.4, 0.2))
pekerjaan_responden <- sapply(data_kampung, function(edu) {
if (edu == "S1") return(sample(c("PNS/Guru (Mengajar)", "Swasta"), size = 1, prob = c(0.8, 0.2)))
else if (edu == "SMA") return(sample(c("Swasta", "Petani", "Belum Bekerja"), size = 1, prob = c(0.5, 0.3, 0.2)))
else return(sample(c("Petani", "Swasta", "Belum Bekerja"), size = 1, prob = c(0.7, 0.1, 0.2)))
})
# Membuat matriks tabel silang (Wajib untuk membuat diagram batang gabungan)
tabel_gabungan <- table(pekerjaan_responden, data_kampung)
# =====================================================================
# 2. MEMBUAT DIAGRAM GABUNGAN (STACKED BAR CHART)
# =====================================================================
# Menyiapkan warna berbeda untuk setiap kategori pekerjaan
warna_pekerjaan <- c("#ff9999", "#66b3ff", "#99ff99", "#ffcc99")
# Membuat Diagram Batang Bertumpuk
barplot(tabel_gabungan,
main = "Diagram Hubungan Pendidikan dan Pekerjaan Responden",
xlab = "Tingkat Pendidikan",
ylab = "Jumlah Orang (Frekuensi)",
col = warna_pekerjaan,
legend.text = rownames(tabel_gabungan), # Menampilkan kotak keterangan (legend) jenis pekerjaan
args.legend = list(x = "topright", bty = "n", inset = c(-0.05, 0)), # Posisi legend
ylim = c(0, max(colSums(tabel_gabungan)) + 2)) # Memberikan ruang di atas batang
# ============================================================
# DATA
# ============================================================
pendidikan <- c("SD", "SMP", "SMA", "S1")
tabel_gabungan <- matrix(
c(
2, 1, 1, # SD
1, 2, 1, # SMP
1, 3, 2, # SMA
1, 2, 0 # S1
),
nrow = 4,
byrow = TRUE
)
rownames(tabel_gabungan) <- pendidikan
colnames(tabel_gabungan) <- c(
"Petani",
"Swasta",
"Pedagang"
)
print(tabel_gabungan)
## Petani Swasta Pedagang
## SD 2 1 1
## SMP 1 2 1
## SMA 1 3 2
## S1 1 2 0
# ============================================================
# DIAGRAM BATANG
# ============================================================
warna_pekerjaan <- c(
"Petani" = "#66b3ff",
"Swasta" = "#ff9999",
"Pedagang" = "#99ff99"
)
posisi <- barplot(
t(tabel_gabungan),
main = "Hubungan Tingkat Pendidikan dan Pekerjaan",
xlab = "Tingkat Pendidikan",
ylab = "Jumlah Orang",
col = warna_pekerjaan[colnames(tabel_gabungan)],
beside = TRUE,
ylim = c(0, 4),
legend.text = colnames(tabel_gabungan),
args.legend = list(
x = "topright",
bty = "n"
)
)
# Angka di dalam batang
text(
x = posisi,
y = t(tabel_gabungan) / 2,
labels = t(tabel_gabungan),
col = "black",
cex = 0.9
)