INFERT

Deskripsi : Dataset “infert” adalah dataset bawaan di R yang berisi data dari studi kasus-kontrol yang mencermati hubungan antara infertilitas dan riwayat aborsi (baik spontan maupun yang diinduksi). Studi ini dilakukan sebelum tersedianya metode conditional logistic regression dan menggunakan pendekatan pencocokan (matched case-control study).

Detail:

Struktur dataset “infert” ini memiliki 83 observasi dengan 8 variabel, yang dijelaskan sebagai berikut:

tabel 1.1 format data “infert”
1. Education

0 = 0-5 years

1 = 6-11 years

2 = 12+ years

2. Age age in years of case
3. Parity Count
4. Number of prior induced abortions

0 = 0

1 = 1

2 = 2 or more

5. Case Status 1 = case 0 = control
6. Number of prior spontaneous abortions

0 = 0

1 = 1

2 = 2 or more

7. matched set number 1-83
8. stratum number 1-63

Input Data

Sebelum kita melakukan visualisasi data, instal packages “ggplot2” terlebih dahulu, dan input data yang ingin digunakan. Pada kali ini data yang digunakan adalah “infert”

library(ggplot2)
data(infert)
head(infert)
##   education age parity induced case spontaneous stratum pooled.stratum
## 1    0-5yrs  26      6       1    1           2       1              3
## 2    0-5yrs  42      1       1    1           0       2              1
## 3    0-5yrs  39      6       2    1           0       3              4
## 4    0-5yrs  34      4       2    1           0       4              2
## 5   6-11yrs  35      3       1    1           1       5             32
## 6   6-11yrs  36      4       2    1           1       6             36
tail(infert)
##     education age parity induced case spontaneous stratum pooled.stratum
## 243   12+ yrs  25      1       0    0           1      78             41
## 244   12+ yrs  31      1       0    0           1      79             45
## 245   12+ yrs  34      1       0    0           0      80             47
## 246   12+ yrs  35      2       2    0           0      81             54
## 247   12+ yrs  29      1       0    0           1      82             43
## 248   12+ yrs  23      1       0    0           1      83             40
NROW(infert) #NROW atau bisa juga dim
## [1] 248
dim(infert)
## [1] 248   8

Berikut dibawah ini adalah beberapa visualisasi yang dapat digunakan ketika data numerik “airquality” yaitu:Barchart, Needle chart, Grouped bar chart, Stacked bar chart,Pie Chart, dan Spasial.

1.1 BAR CHART

ggplot(data=infert, mapping=aes(x=education))+
  geom_bar()

1.1.1 Frekuensi

Berikut adalah tahapan untuk membuat tabel frekuensi

freqtab <- as.data.frame(table(infert$education))
freqtab
##      Var1 Freq
## 1  0-5yrs   12
## 2 6-11yrs  120
## 3 12+ yrs  116

1.1.2 Bar Chart

Berikut adalah tahapan untuk membuat Bar Chart

ggplot(data=freqtab, mapping=aes(x=Var1, y=Freq))+
  geom_bar(stat="identity")

#Atau bisa juga
ggplot(data=freqtab, mapping=aes(x=Var1, y=Freq))+
  geom_col()

1.1.3 Modifikasi

Berikut adalah tahapan untuk memodifikasi Bar Chart

ggplot(data=freqtab, mapping=aes(x=Var1, y=Freq))+
  geom_col(fill="olivedrab", alpha=0.9)+
  labs(title = "Frekuensi Berdasarkan Education",
       x="Education",
       y="frequensi")+
  geom_text(aes(label=Freq), vjust=0.6)

1.1.4 Interpretasi Hasil BarChart

  1. Kategori 0-5 tahun pendidikan memiliki jumlah individu yang paling sedikit, yaitu 12 orang. Ini menunjukkan bahwa hanya sedikit orang dalam dataset “infert” ini yang memiliki tingkat pendidikan rendah.

  2. Kategori 6-11 tahun pendidikan memiliki frekuensi tertinggi, yaitu 120 orang. Ini menunjukkan bahwa mayoritas individu dalam dataset “infert” ini memiliki tingkat pendidikan menengah.

  3. Kategori 12 tahun atau lebih pendidikan memiliki frekuensi 116 orang, yang hampir sama dengan kategori 6-11 tahun.

1.2 NEEDLE CHART

ggplot(data=freqtab,
       mapping=aes(x=reorder(Var1,Freq), y=Freq))+
  geom_segment(aes(x=reorder(Var1,Freq),
                   xend=reorder(Var1,Freq),
                   y=0, yend=Freq), color="violetred2")+
  geom_point(color="palegoldenrod", size=9, alpha=0.9)+
  coord_flip()+
  labs(y="Jumlah Observasi", x="Education")+
  geom_text(aes(label=Freq), vjust=-0.10)

1.2.1 Interpretasi Hasil Needle Chart

  1. Bubble terbesar berada pada kategori 6-11 tahun, menunjukkan jumlah observasi paling banyak yaitu 120 observasi.

  2. Bubble untuk kategori 12+ tahun hampir sama besarnya dengan kategori 6-11 tahun, mengindikasikan jumlah observasi yang hampir seimbang.

  3. Bubble terkecil berada pada kategori 0-5 tahun, yang menunjukkan jumlah observasi yang sangat sedikit yaitu 12 observasi.

1.3 GROUPED BAR CHART

ggplot(data=infert, 
       aes(x=education, fill=as.factor(case))) +
  geom_bar(position="dodge", stat="count") +
  labs(x="Education", fill="Kasus Infertilitas", y="Jumlah Responden") +
  scale_fill_brewer(palette="Accent") +  
  theme_light()

1.3.1 Interpretasi Hasil Grouped BarChart

  1. Kategori 6-11 tahun memiliki kasus infertilitas terbanyak dibandingkan kategori lainnya. Kategori 12+ tahun memiliki jumlah kasus infertilitas yang hampir sama dengan kategori 6-11 tahun. Dan yang terakhir, kategori 0-5 tahun memiliki jumlah kasus infertilitas yang sangat kecil, sesuai dengan total jumlah respondennya yang memang sedikit.

  2. Pada setiap tingkat pendidikan, jumlah individu tanpa infertilitas (warna hijau, 0) lebih besar dibandingkan jumlah individu dengan infertilitas (warna ungu, 1).Infertilitas tampaknya tidak terlalu bergantung pada tingkat pendidikan, karena proporsi kasus infertilitas pada kelompok 6-11 tahun dan 12+ tahun hampir sama.

1.4 STACKED BAR CHART

ggplot(data=infert,
       mapping=aes(x=education, fill=as.factor(case)))+
  geom_bar(position="stack", stat="count")+
  labs(x="Educationn", fill="Kasus Infertilitas",
       y="Jumlah Responden")+
  scale_fill_brewer(palette = "Paired")+
  theme_light()

1.4.1. Interpretasi Hasil Stacked Bar Chart

  1. Responden dengan pendidikan 6-11 tahun dan 12+ tahun memiliki jumlah kasus infertilitas yang lebih tinggi dibandingkan kelompok 0-5 tahun.Namun, proporsi infertilitas dalam setiap kelompok pendidikan tampak relatif mirip.

1.5 PIE CHART

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
df <- infert %>%
  group_by(education) %>%
  summarise(counts=n())
df
## # A tibble: 3 × 2
##   education counts
##   <fct>      <int>
## 1 0-5yrs        12
## 2 6-11yrs      120
## 3 12+ yrs      116
library(dplyr)
df <- df %>%
  arrange(desc(education)) %>%
  mutate(prop=round(counts*100/sum(counts), 1),
         lab.ypos = cumsum(prop)-0.5*prop)
head(df,4)
## # A tibble: 3 × 4
##   education counts  prop lab.ypos
##   <fct>      <int> <dbl>    <dbl>
## 1 12+ yrs      116  46.8     23.4
## 2 6-11yrs      120  48.4     71  
## 3 0-5yrs        12   4.8     97.6
ggplot(df, aes(x="",y = prop, fill=education))+
  geom_bar(width=1,stat="identity", color="black")+
  geom_text(aes(y=lab.ypos, label = prop), color="yellow")+
  coord_polar("y", start=0)+
  ggpubr::fill_palette("jco")+
  theme_void()

1.5.1 Interpretasi Hasil Pie Chart

  1. Mayoritas responden memiliki pendidikan 6-11 tahun (kuning) dan 12+ tahun (abu-abu), dengan proporsi masing-masing 48.4% dan 46.8%. Ini menunjukkan bahwa hampir semua responden memiliki tingkat pendidikan menengah atau lebih tinggi.Hanya 4.8% responden yang memiliki pendidikan 0-5 tahun (biru).

1.6 SPASIAL

Langkah pertama yang harus dilakukan adalah memuat library yang dibutuhkan, seperti readxl untuk membaca file dalam format Excel.

library(readxl)
data.spasial <- read_xlsx("D:/Pictures/SEMESTER 4/Visualisasi Data/dataexcel_ntb.xlsx",sheet = 1)
head(data.spasial)
## # A tibble: 6 × 7
##   NAME_1               ID_2 NAME_2        TYPE_2    ENGTYPE_2 Longitude Latitude
##   <chr>               <dbl> <chr>         <chr>     <chr>         <dbl>    <dbl>
## 1 Nusa Tenggara Barat   268 Bima          Kabupaten Regency        119.    -8.45
## 2 Nusa Tenggara Barat   269 Bima          Kotamadya Municipa…      119.    -8.47
## 3 Nusa Tenggara Barat   270 Dompu         Kabupaten Regency        118.    -8.49
## 4 Nusa Tenggara Barat   271 Lombok Barat  Kabupaten Regency        116.    -8.52
## 5 Nusa Tenggara Barat   272 Lombok Tengah Kabupaten Regency        116.    -8.71
## 6 Nusa Tenggara Barat   273 Lombok Timur  Kabupaten Regency        117.    -8.53
#import shp
library(sf)
## Linking to GEOS 3.13.0, GDAL 3.10.1, PROJ 9.5.1; sf_use_s2() is TRUE
shp.NTB<- read_sf("D:/Pictures/SEMESTER 4/Visualisasi Data/PETA SHP 34 Prov/22-NTB/Export_Output_2.dbf")
shp.NTB
## Simple feature collection with 9 features and 7 fields
## Geometry type: MULTIPOLYGON
## Dimension:     XY
## Bounding box:  xmin: 115.8201 ymin: -9.110002 xmax: 119.3472 ymax: -6.55222
## Geodetic CRS:  WGS 84
## # A tibble: 9 × 8
##   NAME_1               ID_2 NAME_2        TYPE_2    ENGTYPE_2 Longitude Latitude
##   <chr>               <dbl> <chr>         <chr>     <chr>         <dbl>    <dbl>
## 1 Nusa Tenggara Barat   268 Bima          Kabupaten Regency        119.    -8.45
## 2 Nusa Tenggara Barat   269 Bima          Kotamadya Municipa…      119.    -8.47
## 3 Nusa Tenggara Barat   270 Dompu         Kabupaten Regency        118.    -8.49
## 4 Nusa Tenggara Barat   271 Lombok Barat  Kabupaten Regency        116.    -8.52
## 5 Nusa Tenggara Barat   272 Lombok Tengah Kabupaten Regency        116.    -8.71
## 6 Nusa Tenggara Barat   273 Lombok Timur  Kabupaten Regency        117.    -8.53
## 7 Nusa Tenggara Barat   274 Mataram       Kotamadya Municipa…      116.    -8.58
## 8 Nusa Tenggara Barat   275 Sumbawa Barat Kabupaten Regency        117.    -8.83
## 9 Nusa Tenggara Barat   276 Sumbawa       Kabupaten Regency        117.    -8.70
## # ℹ 1 more variable: geometry <MULTIPOLYGON [°]>
#menggabungkn data
# Import library yang diperlukan
library(sf)
library(dplyr)  # Pastikan library dplyr digunakan untuk left_join

gabung.NTB <- left_join(shp.NTB,data.spasial,by="ID_2",relationship = "many-to-many")

plot.NTB<- ggplot(data = gabung.NTB)+
  geom_sf(aes(fill = Latitude.x))+
  scale_fill_distiller("index rate", palette = "Greens")
plot.NTB

1.6.1 Interpretasi Hasil Spasial

  1. Warna hijau tua menunjukkan nilai index rate yang lebih rendah (sekitar -8.8). Warna hijau muda menunjukkan nilai index rate yang lebih tinggi (mendekati -8.5).

  2. Jadi dengan adanya perubahan warna tersebut menunjukkan kabupaten dengan warna hijau tua memiliki index rate yang paling rendah dibanding daerah lain. Jika index rate ini berkaitan dengan indikator ekonomi, sosial, atau lingkungan, maka daerah dengan warna lebih gelap mungkin memiliki kondisi yang kurang menguntungkan dibandingkan daerah lain. Sebaliknya, daerah dengan warna lebih terang mungkin memiliki kondisi yang lebih baik berdasarkan indikator tersebut.