#================================================
# MEMANGGIL LIBRARY
#================================================
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(knitr)
#================================================
# MEMASUKKAN DATA
#================================================
nama_provinsi <- c("JAWA BARAT","JAWA BARAT","JAWA BARAT","JAWA BARAT",
"JAWA BARAT","JAWA BARAT","JAWA BARAT","JAWA BARAT",
"JAWA BARAT","JAWA BARAT")
kabupaten <- c("BOGOR","BOGOR","BOGOR","BOGOR",
"SUKABUMI","SUKABUMI","SUKABUMI","SUKABUMI",
"TASIKMALAYA","TASIKMALAYA")
status_kelahiran <- c("HIDUP","HIDUP","MATI","MATI",
"HIDUP","HIDUP","MATI","MATI",
"HIDUP","HIDUP")
jenis_kelamin <- c("LAKI-LAKI","PEREMPUAN","LAKI-LAKI","PEREMPUAN",
"LAKI-LAKI","PEREMPUAN","LAKI-LAKI","PEREMPUAN",
"LAKI-LAKI","PEREMPUAN")
jumlah_kelahiran <- c(61740,49720,36,47,22812,22849,75,63,18968,18271)
tahun <- rep(2012,10)
data_kelahiran <- data.frame(
nama_provinsi,
kabupaten,
status_kelahiran,
jenis_kelamin,
jumlah_kelahiran,
tahun
)
kable(data_kelahiran,
caption="Data Kelahiran Jawa Barat Tahun 2012")
Data Kelahiran Jawa Barat Tahun 2012
| JAWA BARAT |
BOGOR |
HIDUP |
LAKI-LAKI |
61740 |
2012 |
| JAWA BARAT |
BOGOR |
HIDUP |
PEREMPUAN |
49720 |
2012 |
| JAWA BARAT |
BOGOR |
MATI |
LAKI-LAKI |
36 |
2012 |
| JAWA BARAT |
BOGOR |
MATI |
PEREMPUAN |
47 |
2012 |
| JAWA BARAT |
SUKABUMI |
HIDUP |
LAKI-LAKI |
22812 |
2012 |
| JAWA BARAT |
SUKABUMI |
HIDUP |
PEREMPUAN |
22849 |
2012 |
| JAWA BARAT |
SUKABUMI |
MATI |
LAKI-LAKI |
75 |
2012 |
| JAWA BARAT |
SUKABUMI |
MATI |
PEREMPUAN |
63 |
2012 |
| JAWA BARAT |
TASIKMALAYA |
HIDUP |
LAKI-LAKI |
18968 |
2012 |
| JAWA BARAT |
TASIKMALAYA |
HIDUP |
PEREMPUAN |
18271 |
2012 |
#================================================
# PIE CHART STATUS KELAHIRAN
#================================================
pie_data <- data_kelahiran %>%
group_by(status_kelahiran) %>%
summarise(total=sum(jumlah_kelahiran))
ggplot(pie_data,aes(x="",y=total,fill=status_kelahiran))+
geom_bar(stat="identity",width=1)+
coord_polar("y")+
theme_void()+
labs(title="Proporsi Status Kelahiran")

#================================================
# BAR CHART JUMLAH KELAHIRAN PER KABUPATEN
#================================================
ggplot(data_kelahiran,
aes(x=kabupaten,
y=jumlah_kelahiran,
fill=jenis_kelamin))+
geom_bar(stat="identity",
position="dodge")+
labs(title="Jumlah Kelahiran Berdasarkan Kabupaten",
x="Kabupaten",
y="Jumlah Kelahiran")+
theme_minimal()

#================================================
# HISTOGRAM
#================================================
ggplot(data_kelahiran,
aes(x=jumlah_kelahiran))+
geom_histogram(fill="skyblue",
bins=6,
color="black")+
labs(title="Histogram Distribusi Kelahiran",
x="Jumlah Kelahiran",
y="Frekuensi")+
theme_minimal()

#================================================
# DENSITY PLOT
#================================================
ggplot(data_kelahiran,
aes(x=jumlah_kelahiran))+
geom_density(fill="lightgreen")+
labs(title="Density Plot Jumlah Kelahiran",
x="Jumlah Kelahiran",
y="Density")+
theme_minimal()

#================================================
# BOXPLOT
#================================================
ggplot(data_kelahiran,
aes(x=jenis_kelamin,
y=jumlah_kelahiran,
fill=jenis_kelamin))+
geom_boxplot()+
labs(title="Boxplot Jumlah Kelahiran Berdasarkan Jenis Kelamin",
x="Jenis Kelamin",
y="Jumlah Kelahiran")+
theme_minimal()

#================================================
# STATISTIK DESKRIPTIF
#================================================
modus <- function(x){
uniqv <- unique(x)
uniqv[which.max(tabulate(match(x,uniqv)))]
}
Mean <- mean(data_kelahiran$jumlah_kelahiran)
Median <- median(data_kelahiran$jumlah_kelahiran)
Modus <- modus(data_kelahiran$jumlah_kelahiran)
Q1 <- quantile(data_kelahiran$jumlah_kelahiran,0.25)
Q3 <- quantile(data_kelahiran$jumlah_kelahiran,0.75)
Range <- max(data_kelahiran$jumlah_kelahiran) -
min(data_kelahiran$jumlah_kelahiran)
Varians <- var(data_kelahiran$jumlah_kelahiran)
Std_Deviation <- sd(data_kelahiran$jumlah_kelahiran)
tabel_statistik <- data.frame(
Mean,
Median,
Modus,
Q1,
Q3,
Range,
Varians,
Standard_Deviation = Std_Deviation
)
kable(tabel_statistik,
caption="Statistik Deskriptif Jumlah Kelahiran")
Statistik Deskriptif Jumlah Kelahiran
| 25% |
19458.1 |
18619.5 |
61740 |
66 |
22839.75 |
61704 |
470424573 |
21689.27 |
#================================================
# STATISTIK INFERENSIA (UJI KORELASI)
#================================================
jk_index <- ifelse(data_kelahiran$jenis_kelamin=="LAKI-LAKI",1,2)
hasil_korelasi <- cor.test(jk_index,
data_kelahiran$jumlah_kelahiran)
hasil_korelasi
##
## Pearson's product-moment correlation
##
## data: jk_index and data_kelahiran$jumlah_kelahiran
## t = -0.17465, df = 8, p-value = 0.8657
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.6654345 0.5909270
## sample estimates:
## cor
## -0.0616293