Basic Data
Analysis dengan
R Studio
Modul Kelima
Pengelolaan Data dengan R
Import dan Export Data R
Import Data
CSV
data <- [Link]("[Link]")
data <- read_csv("[Link]") tidyverse version
Excel
library(readxl)
data <- read_excel("[Link]")
Export Data
[Link](data, "[Link]")
write_excel_csv(data, "[Link]")
Pengelolaan Data dengan R
Data Manipulation dengan dplyr r
library(dplyr)
Select kolom
data_select <- data %>%
select(kolom1, kolom2)
Filter baris
ldata_filter <- data %>%
filter(kolom1 > 50)
Arrange/Sort
data_sort <- data %>%
arrange(desc(kolom1))
Mutate (membuat kolom baru)
data_mutate <- data %>%
mutate(kolom_baru = kolom1 + kolom2)
Pengelolaan Data dengan R
Data Cleaning R
Menangani missing values
Cek missing values
[Link](data)
sum([Link](data))
Hapus missing values
data_clean <- [Link](data)
Replace missing values
data$kolom[[Link](data$kolom)] <- mean(data$kolom,
[Link] = TRUE)
Menghapus duplikat
data_unique <- distinct(data)
Mengubah tipe data
data$kolom <- [Link](data$kolom)
data$tanggal <- [Link](data$tanggal)
Pengelolaan Data dengan R
Data Reshaping dengan tidyr R
library(tidyr)
Wide ke Long format
data_long <- data %>%
pivot_longer(
cols = c(kolom1, kolom2),
names_to = "variable",
values_to = "value")
Long ke Wide format
data_wide <- data %>%
pivot_wider(
names_from = variable,
values_from = value)
01 Dasar-dasar ggplot2 R library(ggplot2)
Struktur dasar
ggplot(data = dataset, aes(x = x_var, y = y_var)) +
geom_[tipe_plot]()
Visualisasi
02 Jenis-jenis Plot Dasar
Data dengan Scatter Plot R
Scatter plot sederhana
ggplot2 ggplot(data, aes(x = x_var, y = y_var)) +
geom_point()
Dengan warna berdasarkan kategori
ggplot(data, aes(x = x_var, y = y_var, color = kategori)) +
geom_point() +
scale_color_brewer(palette = "Set1")
Line Plot
Line plot dasar
ggplot(data, aes(x = tanggal, y = nilai)) +
geom_line()
02 Jenis-jenis Plot Dasar
Line plot dengan points
ggplot(data, aes(x = tanggal, y = nilai)) +
geom_line() +
geom_point()
Visualisasi Bar Plot R
Bar plot sederhana
Data dengan ggplot(data, aes(x = kategori, y = nilai)) +
geom_bar(stat = "identity")
ggplot2 Bar plot dengan warna
ggplot(data, aes(x = kategori, y = nilai, fill = grup)) +
geom_bar(stat = "identity", position = "dodge")
Histogram R
Histogram Dasar
ggplot(data, aes(x = nilai)) +
geom_histogram()
Histogram dengan customisasi
ggplot(data, aes(x = nilai)) +
geom_histogram(bins = 30, fill = "blue", alpha = 0.5)
03 Customisasi Plot
Labels dan Titles
ggplot(data, aes(x = x_var, y = y_var)) +
geom_point() +
labs(
Visualisasi title = "Judul Plot",
subtitle = "Subjudul",
Data dengan x = "Label X",
y = "Label Y",
ggplot2 caption = "Sumber: Dataset" )
Themes
Theme minimal Custom theme
ggplot(data, aes(x = x_var, ggplot(data, aes(x = x_var, y = y_var)) +
y = y_var)) + geom_point() +
geom_point() + theme(
theme_minimal() [Link] = element_text(size = 16, face =
"bold"),
[Link] = element_text(size = 12),
[Link] = "bottom")
Visualisasi
Data dengan 04 Advanced Visualization
Flip coordinates
ggplot2 ggplot(data, aes(x = kategori, y = nilai)) +
geom_bar(stat = "identity") +
coord_flip()
Panduan Pemilihan Plot
Data Numerik
Berdasarkan Tipe Data
(Continuous/
Quantitative)
Single Variable Numerik
Histogram
ggplot(data, aes(x = nilai)) +
geom_histogram(bins = 30, fill = "skyblue", color = "black")
Density Plot
ggplot(data, aes(x = nilai)) +
geom_density(fill = "skyblue", alpha = 0.5)
Box Plot
ggplot(data, aes(y = nilai)) +
geom_boxplot(fill = "skyblue")
Penggunaan:
- Histogram: Distribusi frekuensi data
- Density Plot: Estimasi distribusi probabilitas
- Box Plot: Statistik lima angka (min, Q1, median, Q3, max) dan outliers
Panduan Pemilihan Plot
Berdasarkan Tipe Data
Data Kategorikal
(Nominal/Ordinal)
Single Variable Kategorikal
Bar Plot
ggplot(data, aes(x = kategori)) +
geom_bar(fill = "skyblue")
Pie Chart
ggplot(data, aes(x = "", fill = kategori)) +
geom_bar(width = 1) +
coord_polar("y")
Penggunaan:
- Bar Plot: Frekuensi atau jumlah per kategori
- Pie Chart: Proporsi relatif (gunakan hanya jika kategori sedikit)
Panduan Pemilihan Plot
Berdasarkan Tipe Data
Hubungan Antar
Variabel
Numerik vs Numerik
Scatter Plot
ggplot(data, aes(x = nilai1, y = nilai2)) +
geom_point()
Line Plot (untuk data time series)
ggplot(data, aes(x = waktu, y = nilai)) +
geom_line()
Scatter Plot dengan Trend Line
ggplot(data, aes(x = nilai1, y = nilai2)) +
geom_point() +
geom_smooth(method = "lm")
Penggunaan:
- Scatter Plot: Hubungan/korelasi antara dua variabel numerik
- Line Plot: Tren waktu atau sequence
- Trend Line: Menunjukkan pola hubungan linear
Panduan Pemilihan Plot
Berdasarkan Tipe Data
Hubungan Antar
Variabel
Kategorikal vs Numerik
Box Plot
ggplot(data, aes(x = kategori, y = nilai)) +
geom_boxplot()
Violin Plot
gggplot(data, aes(x = kategori, y = nilai)) +
geom_violin()
Bar Plot dengan Error Bars
gggplot(data, aes(x = kategori, y = nilai)) +
stat_summary(fun = mean, geom = "bar") +
stat_summary([Link] = mean_se, geom = "errorbar", width = 0.2)
Penggunaan:
- Box Plot: Distribusi nilai numerik per kategori
- Violin Plot: Distribusi density per kategori
- Bar Plot + Error Bars: Rata-rata dan variasi per kategori
Panduan Pemilihan Plot
Berdasarkan Tipe Data
Hubungan Antar
Variabel
Kategorikal vs Kategorikal
Stacked Bar Plot
ggplot(data, aes(x = kategori1, fill = kategori2)) +
geom_bar(position = "stack")
Grouped Bar Plot
ggplot(data, aes(x = kategori1, fill = kategori2)) +
geom_bar(position = "dodge")
Heat Map
ggplot(data, aes(x = kategori1, y = kategori2)) +
geom_tile(aes(fill = frekuensi))
Penggunaan:
-Stacked Bar: Komposisi dalam kategori
- Grouped Bar: Perbandingan antar kategori
- Heat Map: Frekuensi atau intensitas hubungan
Panduan Pemilihan Plot
Berdasarkan Tipe Data
Multi-Variabel
Tiga Variabel
Scatter Plot dengan Warna
ggplot(data, aes(x = nilai1, y = nilai2, color = kategori)) +
geom_point()
Bubble Plot
ggplot(data, aes(x = nilai1, y = nilai2, size = nilai3)) +
geom_point(alpha = 0.6)
Faceted Plots
ggplot(data, aes(x = nilai1, y = nilai2)) +
geom_point() +
facet_wrap(~kategori)
Penggunaan:
- Scatter + Warna: Hubungan dua variabel numerik dengan kategori
- Bubble Plot: Tiga variabel numerik
- Faceted Plots: Membagi plot berdasarkan kategori