Pengantar Data Sains
Tugas 1
| Kontak | : \(/downarrow\) |
| ali.19arifin@gmail.com | |
| https://www.instagram.com/arifin.alicia/ | |
| RPubs | https://rpubs.com/aliciaarifin/ |
Biodata
- Nama : Alicia Arifin
- Prodi : Statistika Bisnis
- NIM : 20214920001
Soal
- Import data
- Create and organize subsets of tabular data using filter, select, arrange, and slice.
- Visualize data with a ggplot bar plot.
Jawaban
import data
import data
rs <- read.csv("C:/Users/arifi/Documents/Kuliah/sems 2/pengantar data sains/data_c19_jan2021.csv")
rspick a date
tanggal 2021-01-02 saja yang diambil
rs = subset(rs, subset = tanggal == "2021-01-02")
rsdata di atas merupakan data tanggal 2 Januari 2021.
organize
organize the data :)
filter
filter untuk mengekstrak baris
jakbar = filter(rs, nama_kota == "JAKARTA BARAT")
jakbar # hanya di jakarta baratjakut_jakpus = filter(rs, nama_kota == "JAKARTA PUSAT" | nama_kota == "JAKARTA UTARA")
jakut_jakpus # puskesmas yang ada di jakarta utara atau jakarta pusatselect
select untuk mengekstrak kolom
rs_clean = select(rs,id_kel, nama_kota, nama_kecamatan,
nama_kelurahan, kategori,sub_kategori ,jumlah)
rs_cleanarrange
arrange unuk mengurutkan dari suatu kolom
arranged_jumlah = arrange(rs_clean, by = desc(jumlah))
arranged_jumlahslice
slice untuk mengambil baris yang diinginkan. Sebagai contoh, kita bisa mencari 100 kelurahan terbanyak pasien yang dirawat karena covid-19 pada tanggal 2 Januari 2021.
top100 = filter(arranged_jumlah, kategori == "POSITIF")
top100%>% # mencari macam sub katergori
count(sub_kategori)top100 = filter(top100, sub_kategori == "Dirawat")
top100 = slice(top100, 1:100)
top100visualize
Jumlah kasus Total perkota
Kasus total di semua kategori
jaktim = filter(rs, nama_kota == "JAKARTA TIMUR")
jakut = filter(rs, nama_kota == "JAKARTA UTARA")
jaksel = filter(rs, nama_kota == "JAKARTA SELATAN")
jakpus = filter(rs, nama_kota == "JAKARTA PUSAT")
p.seribu = filter(rs, nama_kota == "KAB.ADM.KEP.SERIBU")
kota = data.frame("Jakarta" = c("Barat" ,"Timur" ,"Selatan","Pusat", "Utara" ,"Pulau Seribu" ),
"Jumlah" = c(sum(jakbar$jumlah),sum(jaktim$jumlah),sum(jaksel$jumlah),sum(jakpus$jumlah),sum(jakut$jumlah),
sum(p.seribu$jumlah)))
ggplot(kota, aes(x = Jakarta, y = Jumlah)) +
geom_bar(stat = "identity")+
geom_text(aes(label = Jumlah),
vjust =-0.25, color="black", size = 3.5)+
labs(title = "Banyaknya kasus covid per kota di Jakarta",
subtitle = "2 Januari 2021")# sama seperti yang di atas tetapi berurut
ggplot(kota, aes(x = reorder(Jakarta, Jumlah),
y = Jumlah))+
geom_bar(stat = "identity",
fill = rainbow(6)) + theme_minimal()+
geom_text(aes(label = Jumlah),
vjust =-0.25, color="black", size = 3.5)+
labs(title = "Banyaknya kasus covid per kota di Jakarta",
subtitle = "2 Januari 2021 (semua kategori)",
x = "Bagian Jakarta")Kategori pasien covid-19
hai = rs_clean %>%
count(kategori)
haia = filter(rs_clean, kategori == "DISCARDED" )
b = filter(rs_clean, kategori == "KONTAK ERAT")
c = filter(rs_clean, kategori == "PELAKU PERJALANAN")
d = filter(rs_clean, kategori == "POSITIF" )
e = filter(rs_clean, kategori == "PROBABLE")
f = filter(rs_clean, kategori == "SUSPEK")
rata_kategori = data.frame("kategori" = hai$kategori,
"n" = c(sum(a$jumlah), sum(b$jumlah), sum(c$jumlah), sum(d$jumlah), sum(e$jumlah), sum(f$jumlah)))
ggplot(rata_kategori, aes(x = reorder(kategori, n),
y = n))+
geom_bar(stat = "identity",
fill = rainbow(6)) + theme_minimal()+
geom_text(aes(label = n),
vjust =-0.25, color="black", size = 3.5)+
labs(title = "Kategori Pasien covid-19 DKI Jakarta",
subtitle = "2 Januari 2021",
x = "Kategori Pasien", y = "jumlah")+theme(axis.text.x = element_text(angle=15, hjust = 1))Sub-Kategori pasien DKI Jakarta
subkat = rs_clean %>%
count(sub_kategori)
subkata = filter(rs_clean, sub_kategori =="Dirawat" )
b = filter(rs_clean, sub_kategori =="Isolasi di Rumah" )
c = filter(rs_clean, sub_kategori =="Meninggal" )
d = filter(rs_clean, sub_kategori =="Perawatan RS" )
e = filter(rs_clean, sub_kategori =="Probable Meninggal")
f = filter(rs_clean, sub_kategori =="Selesai Isolasi" )
g = filter(rs_clean, sub_kategori =="Sembuh" )
h = filter(rs_clean, sub_kategori =="Suspek Meninggal" )
abc = data.frame( "hello" = c("Dirawat","Isolasi di Rumah" ,"Meninggal" ,"Perawatan RS" ,"Probable Meninggal",
"Selesai Isolasi" ,
"Sembuh" ,
"Suspek Meninggal" ),
"n" = c(sum(a$jumlah), sum(b$jumlah), sum(c$jumlah), sum(d$jumlah), sum(e$jumlah), sum(f$jumlah), sum(g$jumlah), sum(h$jumlah)))
ggplot(abc, aes(x = reorder(hello,n),
y = n))+
geom_bar(stat = "identity",
fill = rainbow(8)) + theme_minimal()+
geom_text(aes(label = n),
vjust =-0.25, color="black", size = 3.5)+
labs(title = "Sub-Kategori Pasien Covid-19 DKI Jakarta",
subtitle = "2 Januari 2021",
x = "Sub-Kategori Pasien", y = "jumlah")+theme(axis.text.x = element_text(angle=30, hjust = 1)) Kasus Positif dan Dirawat per kota
jakbar = filter(top100, nama_kota == "JAKARTA BARAT")
jaktim = filter(top100, nama_kota == "JAKARTA TIMUR")
jakut = filter(top100, nama_kota == "JAKARTA UTARA")
jaksel = filter(top100, nama_kota == "JAKARTA SELATAN")
jakpus = filter(top100, nama_kota == "JAKARTA PUSAT")
p.seribu = filter(top100, nama_kota == "KAB.ADM.KEP.SERIBU")
terbanyak_kota_dirawat = data.frame("Jakarta" = c("Barat" ,"Timur" ,"Selatan","Pusat", "Utara" ,"Pulau Seribu" ),
"Jumlah" = c(sum(jakbar$jumlah),sum(jaktim$jumlah),sum(jaksel$jumlah),sum(jakpus$jumlah),sum(jakut$jumlah),
sum(p.seribu$jumlah)))
ggplot(terbanyak_kota_dirawat, aes(x = reorder(Jakarta, Jumlah),
y = Jumlah))+
geom_bar(stat = "identity",
fill = rainbow(6)) + theme_minimal()+
geom_text(aes(label = Jumlah),
vjust =-0.25, color="black", size = 3.5)+
labs(title = "Kasus Positif yang dirawat per kota",
subtitle = "2 Januari 2021",
x = "Bagian Jakarta", Y ="Jumlah kasus positif dan dirawat") +coord_flip()Rata-rata kasus Covid-19 perkota dan kategori
library(scales)
library(ggpubr)
plotdata <- rs_clean %>%
group_by(nama_kota, kategori) %>%
dplyr::summarize(mean_kasus = mean(jumlah))
plotdata$mean = round(plotdata$mean_kasus)
#plotdata = slice(plotdata, -c(1,7,13,23,29,35))
plotdata$kota = ifelse(plotdata$nama_kota == "JAKARTA UTARA", "Utara",
ifelse(plotdata$nama_kota == "JAKARTA BARAT" , "Barat",
ifelse(plotdata$nama_kota == "JAKARTA PUSAT", "Pusat",
ifelse(plotdata$nama_kota == "JAKARTA TIMUR", "Timur",
ifelse(plotdata$nama_kota =="JAKARTA SELATAN","Selatan", "P.Seribu" )))))
ggplot(plotdata, aes(x = kota, y = mean))+
geom_bar(
aes(fill = kategori), stat = "identity", color = "white")+
facet_wrap(~kategori) +
geom_text(aes(label=mean), vjust =-0.25, color="black", size = 3.5)+
labs(title = "Rata-rata kategori Pasien Covid-19 DKI Jakarta",
subtitle= "2 Januari 2021",
fill ="",
x="Jumlah", y="Jakarta bagian") +
guides(fill = FALSE, color = FALSE, linetype = FALSE, shape = FALSE)+ # untuk menghilangkan legend :)
coord_flip()