library(dplyr) data <- read.csv2(file.choose (“dataset_rumah tangga.csv”)) data
#memastikan data benar
data\(pendapatan <- as.numeric(data\)pendapatan) data\(pengeluaran <- as.numeric(data\)pengeluaran) data\(anggota_keluarga <- as.integer(data\)anggota_keluarga)
sapply(data,class) #untuk cek tipe data str(data) summary(data)
#MINGGU 2 — Statistika Deskriptif + Visualisasi
library(dplyr) a <- data %>% summarise( n = n(),
mean_pendapatan = mean(pendapatan),
median_pendapatan = median(pendapatan),
sd_pendapatan = sd(pendapatan),
min_pendapatan = min(pendapatan),
max_pendapatan = max(pendapatan),
mean_pengeluaran = mean(pengeluaran),
median_pengeluaran = median(pengeluaran),
sd_pengeluaran = sd(pengeluaran),
min_pengeluaran = min(pengeluaran),
max_pengeluaran = max(pengeluaran)
) print(a)
#tampil di Plots (Histogram Pendapatan) hist(data\(pendapatan, main="Histogram Pendapatan Bulanan", xlab="Pendapatan (Rp)") #tampil di Plots (Histogram Pengeluaran) hist(data\)pengeluaran, main=“Histogram Pengeluaran Bulanan”, xlab=“Pengeluaran (Rp)”, ylab=“jumlah keluarga”)
#boxplot boxplot(data\(pendapatan, main = "boxplot pendapatan", ylab = "pendapatan(Rp)") boxplot(data\)pengeluaran, main = “boxplot pengeluaran”, ylab = “pengeluaran(Rp)”)
#scetter plot plot(data\(pendapatan, data\)pengeluaran, main = “pendapatan vs pengeluaran”, xlab = “pendapatan”, ylab = “pengeluaran”)
ambang_pendapatan <-4500000 ambang_pengeluaran <- 3300000
p_emp_pendapatan <- mean(data\(pendapatan > ambang_pendapatan) p_emp_pengeluaran <- mean(data\)pengeluaran > ambang_pengeluaran)
prob_empiris <- data.frame(
kejadian = c(paste0(“pendapatan >”, ambang_pendapatan), paste0(“pengeluaran >”, ambang_pengeluaran)), peluang_empiris = c(p_emp_pendapatan, p_emp_pengeluaran))
print(prob_empiris)
freq_anggota <- table(data$anggota_keluarga) pmf_anggota <- prop.table(freq_anggota) pmf_df <- data.frame( anggota_keluarga = as.integer(names(pmf_anggota)), probabilitas = as.numeric(pmf_anggota) ) print(pmf_df)
barplot(pmf_anggota, main=“PMF Empiris Jumlah Anggota Keluarga”, xlab=“Jumlah Anggota”, ylab=“Probabilitas”)
mu <- mean(data\(pendapatan) sigma <- sd(data\)pendapatan) # Probabilitas model Normal: P(X > ambang_pendapatan) p_norm_pendapatan <- 1 - pnorm(ambang_pendapatan, mean = mu, sd = sigma) model_normal <- data.frame( distribusi = “Normal (aproksimasi)”, mu = mu, sd = sigma, ambang = ambang_pendapatan, p_model_X_gt_ambang = p_norm_pendapatan ) print(model_normal) hist(data$pendapatan, probability = TRUE, main=“Pendapatan: Histogram + Kurva Normal (aproksimasi)”, xlab=“Pendapatan (Rp)”) curve(dnorm(x, mean = mu, sd = sigma), add = TRUE, lwd = 2)
set.seed(123) B <- 2000 # jumlah simulasi n1 <- 10 n2 <- 30 mean_n10 <- replicate(B, mean(sample(data\(pendapatan, n1, replace = TRUE))) mean_n30 <- replicate(B, mean(sample(data\)pendapatan, n2, replace = TRUE))) sampling_df <- data.frame(mean_n10 = mean_n10, mean_n30 = mean_n30) sampling_df hist(mean_n10, main=“Distribusi Sampling Mean Pendapatan (n=10)”, xlab=“Mean Sampel”) hist(mean_n30, main=“Distribusi Sampling Mean Pendapatan (n=30)”, xlab=“Mean Sampel”)dev.off()
mean_pendapatan <- mean(data\(pendapatan) ci_pendapatan <- t.test(data\)pendapatan, conf.level = 0.95)\(conf.int mean_pengeluaran <- mean(data\)pengeluaran) ci_pengeluaran <- t.test(data\(pengeluaran, conf.level = 0.95)\)conf.int estimasi <- data.frame( parameter = c(“mean_pendapatan”, “mean_pengeluaran”), estimasi_titik = c(mean_pendapatan, mean_pengeluaran), CI95_bawah = c(ci_pendapatan[1], ci_pengeluaran[1]), CI95_atas = c(ci_pendapatan[2], ci_pengeluaran[2]) ) print(estimasi)