#library(gapminder)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
## 
## 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

1. Variabel Kontinu berdasarkan Kelompok atau Kategori Mari kita bekerja dengan kumpulan data organdata.

Dataset ini memiliki struktur negara-tahun. Dataset ini berisi informasi selama lebih dari satu dekade mengenai donasi organ untuk transplantasi di tujuh belas negara OECD. Tingkat pengadaan organ adalah ukuran jumlah organ manusia yang diperoleh dari donor organ mayat untuk digunakan dalam operasi transplantasi. Bersamaan dengan data donasi ini, dataset ini memiliki berbagai ukuran demo-grafis numerik, dan beberapa ukuran kategoris dari kebijakan dan hukum kesehatan dan kesejahteraan. Beberapa pengamatan tidak ada. Hal ini ditandai dengan nilai NA, kode standar R untuk data yang hilang. Memuat data menggunakan fungsi read.csv().

arti nama kolom

country : Nama negara. year : Tahun. donors : Tingkat donasi organ per juta penduduk. pop : Populasi dalam ribuan. pop_dens : Kepadatan penduduk per mil persegi. gdp : Produk Domestik Bruto dalam ribuan dolar PPP. gdp_lag: Produk Domestik Bruto yang tertinggal dalam ribuan dolar PPP. health : Pengeluaran kesehatan, ribuan dolar PPP per kapita. health_lag : Pengeluaran kesehatan yang tertinggal, dalam ribuan dolar PPP per kapita. pubhealth : Pengeluaran kesehatan masyarakat sebagai persentase dari total pengeluaran. roads : Kematian akibat kecelakaan di jalan raya per 100.000 penduduk. cerebvas : Kematian akibat serebrovaskular per 100.000 penduduk (dibulatkan). assault : Kematian akibat penyerangan per 100.000 penduduk (dibulatkan). external : Kematian karena penyebab eksternal per 100.000 penduduk. txp_pop : Program transplantasi per satu juta penduduk. world : Dunia negara kesejahteraan (Esping Andersen.) opt : Kebijakan keikutsertaan atau kebijakan tidak ikut serta. consent_law : Hukum persetujuan, berdasarkan informasi atau praduga. consent_practice : Praktik persetujuan, diinformasikan atau diduga. consistent : Hukum yang konsisten dengan praktik, ya atau tidak. ccode : Kode negara yang disingkat

orgdat <- read.csv("organdata.csv", header = T)
head(orgdat)
nrow(orgdat)
## [1] 238
ncol(orgdat)
## [1] 21
str(orgdat)
## 'data.frame':    238 obs. of  21 variables:
##  $ country         : chr  "Australia" "Australia" "Australia" "Australia" ...
##  $ year            : chr  NA "1/1/91" "1/1/92" "1/1/93" ...
##  $ donors          : num  NA 12.1 12.3 12.5 10.2 ...
##  $ pop             : int  17065 17284 17495 17667 17855 18072 18311 18518 18711 18926 ...
##  $ pop_dens        : num  0.22 0.223 0.226 0.228 0.231 ...
##  $ gdp             : int  16774 17171 17914 18883 19849 21079 21923 22961 24148 25445 ...
##  $ gdp_lag         : int  16591 16774 17171 17914 18883 19849 21079 21923 22961 24148 ...
##  $ health          : num  1300 1379 1455 1540 1626 ...
##  $ health_lag      : num  1224 1300 1379 1455 1540 ...
##  $ pubhealth       : num  4.8 5.4 5.4 5.4 5.4 5.5 5.6 5.7 5.9 6.1 ...
##  $ roads           : num  137 122 113 111 108 ...
##  $ cerebvas        : int  682 647 630 611 631 592 576 525 516 493 ...
##  $ assault         : int  21 19 17 18 17 16 17 17 16 15 ...
##  $ external        : int  444 425 406 376 387 371 395 385 410 409 ...
##  $ txp_pop         : num  0.938 0.926 0.915 0.906 0.896 ...
##  $ world           : chr  "Liberal" "Liberal" "Liberal" "Liberal" ...
##  $ opt             : chr  "In" "In" "In" "In" ...
##  $ consent_law     : chr  "Informed" "Informed" "Informed" "Informed" ...
##  $ consent_practice: chr  "Informed" "Informed" "Informed" "Informed" ...
##  $ consistent      : chr  "Yes" "Yes" "Yes" "Yes" ...
##  $ ccode           : chr  "Oz" "Oz" "Oz" "Oz" ...

Including Plots

Bagaimana jika mencoba sesuatu yang berbeda? Alih-alih menggunakan head(), mari kita buat sebuah pipeline pendek untuk memilih enam kolom pertama dari dataset dan kemudian memilih lima baris secara acak menggunakan sebuah fungsi bernama sample_n(). Fungsi ini membutuhkan dua argumen utama. Pertama, kita menyediakan tabel data yang ingin kita ambil sampelnya. Karena kita menggunakan pipeline, hal ini secara implisit diturunkan dari awal pipa. Kemudian kita menyediakan jumlah penarikan yang ingin kita buat

orgdat %>% select(1:6) %>% sample_n(size = 10)
#

Plot sebaran naif donor vs tahun:

p1 <- ggplot(data = orgdat, mapping = aes(x = year, y = donors)) #aes untuk warna
p1 + geom_point()
## Warning: Removed 34 rows containing missing values or values outside the scale range
## (`geom_point()`).

Selalu menghargai peringatan Anda. Kali ini, apa yang dikatakannya? Menurutmu apa artinya? Kembali ke plot sebar. Informasi apa yang Anda peroleh dari plot tersebut? Dari skala 1 - 10, bagaimana Anda menilai keakuratannya? Kita dapat menggunakan geom_line() untuk memplot deret waktu setiap negara. Untuk melakukan hal tersebut, ingatlah, kita perlu memberi tahu ggplot apa variabel pengelompokannya. Kali ini kita juga dapat melihat angka berdasarkan negara, karena kita tidak memiliki terlalu banyak negara

p2 <- ggplot(data = orgdat, mapping = aes(x = year, y = donors))
p2 + geom_line(aes(group = country)) + facet_wrap(~country)
## Warning: Removed 34 rows containing missing values or values outside the scale range
## (`geom_line()`).

p3 <- ggplot(data = orgdat, mapping = aes(x = country, y = donors))
p3 + geom_boxplot()
## Warning: Removed 34 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

p3 <- ggplot(data = orgdat, mapping = aes(x = country, y = donors))
p3 + geom_boxplot() + coord_flip()
## Warning: Removed 34 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

p3 <- ggplot(data = orgdat, mapping = aes(x = reorder(country, donors, na.rm = TRUE), y = donors))
p3 + geom_boxplot() + coord_flip() + labs(x = NULL, y = "Donors")
## Warning: Removed 34 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

p4 <- ggplot(data = orgdat,
mapping = aes(x = reorder(country, donors, na.rm=TRUE),
y = donors, color = world))
p4 + geom_point() + labs(x=NULL, y = "Donors") + coord_flip() + theme(legend.position = "top")
## Warning: Removed 34 rows containing missing values or values outside the scale range
## (`geom_point()`).

p4 <- ggplot(data = orgdat,
mapping = aes(x = reorder(country, donors, na.rm=TRUE),
y = donors, color = world))
p4 + geom_jitter() + labs(x=NULL, y = "Donors") + coord_flip() + theme(legend.position = "top")
## Warning: Removed 34 rows containing missing values or values outside the scale range
## (`geom_point()`).