#Distribusi Poisson
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
# Memuat library ggplot2
library(ggplot2)
# Mengatur seed agar hasil rbinom bisa direproduksi (opsional)
set.seed(123)
# Menghasilkan data
z <- rbinom(n = 10, size = 1, prob = 0.7)
print(z)
## [1] 1 0 1 0 0 1 1 0 1 1
# Mengubah vektor z menjadi data frame dan menjadikan tipe datanya sebagai factor (kategori)
df <- data.frame(z_kategori = as.factor(z))
# Membuat diagram batang dengan ggplot2
ggplot(data = df, aes(x = z_kategori, fill = z_kategori)) +
geom_bar(color = "black") +
scale_fill_manual(values = c("0" = "violet", "1" = "pink")) +
labs(title = "Frekuensi Nilai 0 dan 1 pada Vektor z",
x = "Nilai",
y = "Frekuensi",
fill = "Nilai") +
theme_minimal()
#Distribusi Bernoulli
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
# Memuat library ggplot2
library(ggplot2)
# Menghasilkan data (set.seed agar hasil konsisten, opsional)
set.seed(123)
z <- rbinom(n = 10, size = 1, prob = 0.7)
print(z)
## [1] 1 0 1 0 0 1 1 0 1 1
# Mengubah vektor z menjadi data frame dan tipe as.factor
df <- data.frame(z_kategori = as.factor(z))
# Membuat diagram lingkaran (pie chart)
ggplot(data = df, aes(x = "", fill = z_kategori)) +
geom_bar(width = 1, stat = "count", color = "white") +
coord_polar(theta = "y", start = 0) +
scale_fill_manual(values = c("0" = "violet", "1" = "pink")) +
labs(title = "Proporsi Nilai 0 dan 1 pada Vektor z",
fill = "Nilai") +
theme_void() # theme_void digunakan untuk menghilangkan garis sumbu (x dan y)
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
)