Berikut adalah packages yang digunakan, yaitu:
library(scales)
library(ggridges)
library(ggplot2)
Disini saya menggunakan dataset Penguins yang berisi informasi tentang spesies penguin beserta beberapa karakteristiknya seperti panjang sirip, berat badan, dan jenis kelamin.
# Memanggil Data
penguins <- read.csv("C:/Users/priya/Downloads/penguins_size.csv", na.strings = c(".", "NA"))
str(penguins)
## 'data.frame': 344 obs. of 7 variables:
## $ species : chr "Adelie" "Adelie" "Adelie" "Adelie" ...
## $ island : chr "Torgersen" "Torgersen" "Torgersen" "Torgersen" ...
## $ culmen_length_mm : num 39.1 39.5 40.3 NA 36.7 39.3 38.9 39.2 34.1 42 ...
## $ culmen_depth_mm : num 18.7 17.4 18 NA 19.3 20.6 17.8 19.6 18.1 20.2 ...
## $ flipper_length_mm: int 181 186 195 NA 193 190 181 195 193 190 ...
## $ body_mass_g : int 3750 3800 3250 NA 3450 3650 3625 4675 3475 4250 ...
## $ sex : chr "MALE" "FEMALE" "FEMALE" NA ...
# Memindahkan Kolom Species ke Kolom Terakhir
penguins <- penguins[, c(setdiff(names(penguins), "species"), "species")]
# Cek data apakah ada missing value
colSums(is.na(penguins))
## island culmen_length_mm culmen_depth_mm flipper_length_mm
## 0 2 2 2
## body_mass_g sex species
## 2 11 0
# Menghapus baris yang memiliki missing value di kolom sex
penguins <- penguins[!is.na(penguins$sex), ]
# Mengecek data apakah masih ada missing value
colSums(is.na(penguins))
## island culmen_length_mm culmen_depth_mm flipper_length_mm
## 0 0 0 0
## body_mass_g sex species
## 0 0 0
Histogram digunakan untuk melihat distribusi panjang sirip penguin.
ggplot(data = penguins, mapping = aes(x = flipper_length_mm)) +
geom_histogram(bins = 30, color = "white", fill = "darkgreen") +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
labs(x = "Panjang Sirip",
y = "Frekuensi")
Density plot digunakan untuk melihat distribusi probabilitas panjang sirip dengan visualisasi yang lebih halus dibandingkan histogram.
ggplot(data = penguins, mapping = aes(x = flipper_length_mm)) +
geom_density(fill = "green", alpha = 0.7) +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
labs(x = "Panjang Sirip")
ggplot(data = penguins, mapping = aes(x = flipper_length_mm, fill = species, color = species)) +
geom_density(alpha = 0.7) +
scale_x_continuous(labels = comma) +
scale_y_continuous(labels = comma) +
labs(x = "Panjang Sirip")
ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = species, fill = species)) +
geom_density_ridges() +
labs(x = "Panjang Sirip", y = "Species")
## Picking joint bandwidth of 2.4
Boxplot digunakan untuk membandingkan distribusi panjang sirip antar spesies penguin.
ggplot(data = penguins, mapping = aes(x = flipper_length_mm)) +
geom_boxplot()
ggplot(data = penguins, mapping = aes(x = flipper_length_mm)) +
geom_boxplot()+
coord_flip()
ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = island)) +
geom_boxplot()
ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = island, fill = island)) +
geom_boxplot()
ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = island, fill = island)) +
geom_boxplot() +
theme(legend.position = "none")
Violin plot digunakan untuk melihat distribusi panjang sirip antar spesies dengan menampilkan kepadatan data seperti pada density plot.
ggplot(data = penguins, mapping = aes(x = flipper_length_mm, y = "all")) +
geom_violin(fill="green",alpha=0.5) +
geom_boxplot(fill="darkgreen",width=0.1)
QQ plot digunakan untuk memeriksa apakah distribusi panjang sirip mengikuti distribusi normal.
ggplot(data = penguins, aes(sample = flipper_length_mm)) +
stat_qq(col="blue", cex=0.9) +
stat_qq_line(col="red", lwd=1)
Scatter plot digunakan untuk melihat hubungan antara panjang sirip dan berat badan penguin.
ggplot(data = penguins, mapping = aes(x = culmen_length_mm, y = flipper_length_mm, color = species)) +
geom_point()
Line chart digunakan untuk melihat tren perubahan harga tertinggi dari waktu ke waktu, dan membandingkan harga tertinggi dan terendah.
Dataset ini berisi data historis harga mata uang kripto XRP/USDT dari tahun 2018 hingga 2024.
xrp <- read.csv("C:/Users/priya/Downloads/XRPUSDT20182024.csv",sep = ",")
xrp$tanggal <- as.Date.character(xrp$Date,"%m/%d/%Y")
head(xrp)
## Date Price Open High Low Vol Change.. tanggal
## 1 5/26/2024 0.5341 0.5416 0.5418 0.5328 178450000 -1.39% 2024-05-26
## 2 5/25/2024 0.5416 0.5359 0.5425 0.5334 246380000 1.09% 2024-05-25
## 3 5/24/2024 0.5358 0.5288 0.5372 0.5169 513880000 1.33% 2024-05-24
## 4 5/23/2024 0.5288 0.5269 0.5456 0.5091 948100000 0.38% 2024-05-23
## 5 5/22/2024 0.5268 0.5372 0.5382 0.5236 509460000 -1.94% 2024-05-22
## 6 5/21/2024 0.5372 0.5377 0.5565 0.5321 812410000 -0.09% 2024-05-21
str(xrp)
## 'data.frame': 2192 obs. of 8 variables:
## $ Date : chr "5/26/2024" "5/25/2024" "5/24/2024" "5/23/2024" ...
## $ Price : num 0.534 0.542 0.536 0.529 0.527 ...
## $ Open : num 0.542 0.536 0.529 0.527 0.537 ...
## $ High : num 0.542 0.542 0.537 0.546 0.538 ...
## $ Low : num 0.533 0.533 0.517 0.509 0.524 ...
## $ Vol : num 1.78e+08 2.46e+08 5.14e+08 9.48e+08 5.09e+08 ...
## $ Change..: chr "-1.39%" "1.09%" "1.33%" "0.38%" ...
## $ tanggal : Date, format: "2024-05-26" "2024-05-25" ...
Line Chart digunakan untuk menampilkan pergerakan harga tertinggi XRP dari waktu ke waktu.
ggplot(data = xrp, aes(x=tanggal,y=High)) +
geom_line() +
labs(x="Tanggal", y="Harga Tertinggi")
Agar menambah estetikan dengan cara mengarsir daerah di bawah plot deret waktu.
ggplot(data = xrp, aes(x=tanggal,y=High)) +
geom_line(lwd=1.2, col="darkgreen") +
geom_area(fill="green", alpha=0.5) +
labs(x="Tanggal", y="Harga Tertinggi")
Pada plot ini digunakan untuk membandingkan trend data deret waktu pada kelompok Harga Tertinggi dan Harga Terendah Crypto.
ggplot(data = xrp, aes(x=tanggal)) +
geom_line(aes(y=High), lwd=1.2, col="blue") +
geom_line(aes(y=Low), lwd=1.2, col="red") +
labs(x="tanggal", y="Harga")
Menambakan nama kelompok
ggplot(data = xrp, aes(x=tanggal)) +
geom_line(aes(y=High), lwd=1.2, col="blue") +
geom_line(aes(y=Low), lwd=1.2, col="red") +
xlim(min(xrp$tanggal),max(xrp$tanggal)+60) +
geom_text(x=max(xrp$tanggal),y=tail(xrp$High,1)*1.05, # Tambah 5% dari nilai asli
label="High", size = 5,
color="blue", hjust=-0.1) +
geom_text(x=max(xrp$tanggal),y=tail(xrp$Low,1)*0.95, # Kurang 5% dari nilai asli
label="Low", size = 5,
color="red", hjust=-0.1) +
labs(x="tanggal", y="Harga")