Data yang saya gunakan adalah data Aids2 yang mendeskripsikan data pasien yang didiagnosis dengan AIDS di Australia sebelum 1 Juli 1991 yang berisi 2.843 baris dan kolom-kolom berikut:
state (negara bagian)
Pengelompokan negara bagian asal: “NSW” termasuk ACT dan “lainnya” adalah WA, SA, NT dan TAS.
sex (jenis kelamin)
Jenis kelamin pasien.
diag
(Julian) Tanggal diagnosis.
death (kematian)
(Julian) tanggal kematian atau akhir pengamatan.
status
“A” (hidup) atau ‘D’ (mati) pada akhir pengamatan.
T.categ
Kategori penularan yang dilaporkan.
age (usia)
Usia (tahun) saat diagnosis.
Data Aids2 Dataset tersebut bersumber dari package MASS, package MASS adalah package yang menyediakan berbagai fungsi statistik, termasuk metode regresi, analisis data, dan distribusi probabilitas.
library(MASS)
data("Aids2")
head(Aids2)
dim(Aids2)
## [1] 2843 7
Keterangan:
library: digunakan untuk membantu mengaktifkan package
data: digunakan untuk menampilkan daftar dataset
head: digunakan untuk menampilkan data pada bagian atas pertama/atas saja dari sebuah vektor, matriks, tabel, data frame ataupun sebuah fungsi
dim: digunakan untuk mengetahui jumlah baris dan kolom
sebaran dari data kategorik ordinal Penularan Aids yang dilaporkan (T.categ)
library(ggplot2)
ggplot(data = Aids2, mapping = aes(x = T.categ)) +
geom_bar(fill = "navy", color = "red2")
Keterangan:
ggplot package yang digunakan untuk membuat plot
mapping digunakan untuk menentukan variabel yang akan digunakan (sumbu X)
geom_bar digunakan untuk membuat grafik batang
freqtab <- as.data.frame(table(Aids2$T.categ))
freqtab
Keterangan:
as.data.frame digunakan untuk mengubah hasil dari table menjadi data frame
table digunakan untuk menghitung jumlah frekuensi dari setiap kategori dalam variabel dari dataset
ggplot(data = freqtab, mapping = aes(x = Var1, y = Freq)) +
geom_bar(stat = "identity", fill = "skyblue3", color = "black")
Keterangan:
stat digunakan untuk menunjukkan bahwa tinggi batang berasal langsung dari data
fill digunakan untuk memberikan warna pada grafik
color digunakan untuk memberikan warna pada garis tepi grafik
Cara lain yang dapat digunakan untuk membuat diagram batang ketika data yang kita miliki sudah dalam bentuk tabel frekuensi adalah dengan geom_col().
ggplot(data = freqtab, mapping = aes(x = Var1, y = Freq)) +
geom_col(fill = "magenta3", color = "black")
Menambahkan judul, mewarnai grafik, dan memberikan label pada setiap batang.
ggplot(data = freqtab, mapping = aes(x = Var1, y = Freq)) +
geom_col(fill = "maroon", alpha = 0.7) +
labs(title = "Frekuensi berdasarkan Kategori Penularan",
x = "Kategori Penularan",
y = "Frekuensi") +
geom_text(aes(label = Freq), vjust = -0.25)
Keterangan:
labs digunakan untuk menambahkan label pada plot
geom_text digunakan untuk menambahkan teks (dalam atau atas) bar
label digunakan untuk menentukan teks yang akan ditampilkan
vjust digunakan untuk mengatur posisi vertikal teks
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 = "red3") +
geom_point(color = "navyblue", size=4, alpha = 0.6) +
geom_text(aes(label = Freq), vjust = -1.00) +
coord_flip() +
labs(y = "Jumlah Pasien", x = "Kategori Penularan")
Keterangan:
geom_segment digunakan untuk menambahkan garis untuk setiap kategori
xend digunakan untuk menggambar atau menentukan posisi akhir dari garis pada sumbu X
geom_point digunakan untuk menambahkan titik pada setiap kategori untuk menandai frekuensinya
library(viridis)
ggplot(data = Aids2,
mapping = aes(x = T.categ, fill =as.factor(sex))) +
geom_bar(position = "dodge", stat = "count") +
labs(x = "Kategori Penularan", fill = "Jenis Kelamin",
y = "jumlah Pasien") +
scale_fill_brewer(palette = "Purples") +
theme_light()
Keterangan:
viridis package yang digunakan untuk membuat skema warna untuk visualisasi data
position digunakan untuk mengatur posisi batang
palette digunakan untuk memilih warna grafik
ggplot(data = Aids2,
mapping = aes(x = T.categ, fill = as.factor(sex))) +
geom_bar(position = "stack", stat = "count") +
geom_text(stat = "count", aes(label = after_stat(count)), vjust = 0) +
labs(x = "Kategori Penularan",
fill = "Jenis Kelamin",
y = "Jumlah Pasien") +
scale_fill_brewer(palette = "Y1GnBu") +
theme_light()
Keterangan:
scale_fill_brewer digunakan untuk membuat skema warna brewer
theme_light digunakan untuk membuat tema (latar belakang) cerah
library(dplyr)
df <- Aids2 %>%
group_by(T.categ) %>%
summarise(counts = n())
df
dplyr package yang digunakan untuk manipulasi data
group_by digunakan untuk mengelompokkan data
summarise digunakan untuk menghitung jumlah kasus di setiap kategori
df <- df %>%
arrange(desc(T.categ)) %>%
mutate(prop = round(counts*100/sum(counts), 1),
lab.ypos = cumsum(prop) - 0.5*prop)
head(df, 4)
Keterangan:
arrange digunakan untuk mengurutkan kategori secara descending (besar ke kecil)
mutate digunakan untuk memodifikasi kolom dalam dataframe
lab.ypos digunakan untuk menentukakan posisi label
ggplot(df, aes(x = "", y = prop, fill = T.categ)) +
geom_bar(width = 1, stat = "identity", color = "black") +
geom_text(aes(y = lab.ypos, label = prop), color = "white")+
coord_polar("y", start = 0)+
ggpubr::fill_palette("ucscgb")+
theme_void()
Keterangan:
ggpubr digunakan untuk mengatur skema warna pada pie chart
theme_void digunakan untuk menghapus grid
#Mengextract shp to xlsx
library(writexl)
library(sf)
data.shp.banten<-read_sf("C:/Kuliah/Eksplorasi dan Visualisasi Data/PETA SHP 34 Prov/4-Banten/Export_Output_2.shp")
data.shp.df<- st_drop_geometry(data.shp.banten)
write_xlsx(data.shp.df, "Banten_desa.xlsx")
Keterangan:
writexl package yang digunakan untuk menyimpan data dalam format .xlsx
sf package yang digunakan untuk data spasial (membaca file .SHP)
read_sf digunakan untuk membaca file .shp
st_drop_geometry digunakan untuk menghapus data atau komponen spasial
write_xlsx digunakan untuk menyimpan hasil dalam file excel
#Import Data
library(readxl)
library(sf)
setwd("C:/Kuliah/Eksplorasi dan Visualisasi Data")
#Import Data Excel
data.spasial=read_xlsx("Banten_desa.xlsx",sheet = 1)
head(data.spasial)
#IMPORT PETA SHP
shp.banten=read_sf("C:/Kuliah/Eksplorasi dan Visualisasi Data/PETA SHP 34 Prov/4-Banten/Export_Output_2.shp")
#Menggabungkan Data ke file SHP
gabung.banten=left_join(shp.banten,data.spasial,by="ID_2")
head(gabung.banten)
Keterangan:
setwd digunakan untuk mengatur direktori kerja
left_join digunakan untuk menggabungkan data
#Pemetaan Longitude provinsi Banten
plot.banten = ggplot(data=gabung.banten) +
geom_sf(aes(fill = Longitude.x)) +
scale_fill_distiller("Longitude", palette = "BuPu")
plot.banten
Keterangan:
geom_sf digunakan untuk menggambar fitur spasial dari objek spatial features (sf)
scale_fill_distiller digunakan untuk mengatur skala warna berdasarkan data