Lanjutan dari tulisan sebelumnya tentang pustaka Python untuk data science, Kini penulis membahas pustaka dasar dalam bahasa R.
R dalam dunia ilmu data (data science dan data analytic) merupakan salah satu perangkat lunak bebas (free open source software) dan bahasa pemrograman yang populer setelah Python. Tentunya R dapat dipasang di berbagai lintas platform seperti UNIX, Windows, dan MacOS. Halaman resminya dapat dikunjungi di r-project.org.
Kemampuan R dalam analisis statistik, visualisasi data, dan machine learning membuatnya menjadi alat yang sangat berguna bagi para data scientist. Namun, untuk memaksimalkan potensi R itu sendiri, seorang data scientist direkomendasikan untuk memasang berbagai pustaka yang dapat membantu dalam berbagai tugas analisis data. Paket pustaka bawaan dari R tidaklah cukup, dibutuhkan pustaka pendukung lainnya.
Penulis telah merangkum kumpulan pustaka R yang disarankan untuk dipasang oleh seorang data scientist. Jenis pustaka tersebut sudah dikelompokkan berdasarkan fungsi dan kegunaannya. Berikut pustaka R untuk data scientist !
Pustaka dibawah ini tidak hanya untuk kebutuhan ilmuan data, tetapi juga terdapat pustaka Publishing tool, Pelaporan, Dashboard dan Framework.
1 Data Manipulation and Wrangling
- DBI: Antarmuka untuk berinteraksi dengan berbagai sistem manajemen basis data.
- DT: Pustaka untuk membuat tabel interaktif.
- data.table: Pustaka yang memungkinkan manipulasi data dengan cepat dan efisien.
- dplyr: Pustaka untuk manipulasi data dengan sintaks yang intuitif dan konsisten.
- janitor: Pustaka untuk membersihkan data dengan mudah.
- lubridate: Pustaka untuk memanipulasi data waktu dan tanggal.
- purrr: Pustaka untuk pemrograman fungsional yang memudahkan penggunaan fungsi-fungsi dalam R.
- readr: Pustaka untuk membaca data dari berbagai format file.
- stringr: Pustaka untuk manipulasi string.
- tidyr: Pustaka untuk mengubah format data menjadi bentuk yang lebih mudah dianalisis.
- tidyverse: Koleksi paket untuk data science yang mencakup dplyr, ggplot2, tidyr, dan lainnya.
Terminal
install.packages(c(
"DBI",
"DT",
"data_table",
"dplyr",
"janitor",
"lubridate",
"purrr",
"readr",
"stringr",
"tidyr",
"tidyverse"
))
Terminal
library(pak)
pak::pkg_install(c(
"DBI",
"DT",
"data_table",
"dplyr",
"janitor",
"lubridate",
"purrr",
"readr",
"stringr",
"tidyr",
"tidyverse"
))
2 Data Exploration and Visualization
- DataExplorer: Pustaka untuk eksplorasi data secara otomatis.
- GGally: Pustaka untuk membuat visualisasi data dengan ggplot2.
- RColorBrewer: Pustaka untuk memilih palet warna yang baik untuk visualisasi.
- ggplot2: Pustaka untuk membuat grafik dan visualisasi data.
- ggraph: Pustaka untuk membuat visualisasi graf dan jaringan.
- plotly: Pustaka untuk membuat visualisasi interaktif.
- skimr: Pustaka untuk menyediakan ringkasan data yang komprehensif.
- summarytools: Pustaka untuk membuat ringkasan data yang mudah dibaca.
Terminal
install.packages(c(
"DataExplorer",
"GGally",
"RColorBrewer",
"ggplot2",
"ggraph",
"plotly",
"skimr",
"summarytools"
))
Terminal
library(pak)
pak::pkg_install(c(
"DataExplorer",
"GGally",
"RColorBrewer",
"ggplot2",
"ggraph",
"plotly",
"skimr",
"summarytools"
))
3 Machine Learning and Modeling
- MASS: Pustaka untuk analisis statistik dan modeling.
- caret: Pustaka untuk membangun dan mengevaluasi model machine learning.
- caretEnsemble: Pustaka untuk membuat model ensemble.
- e1071: Pustaka untuk algoritma SVM dan lainnya.
- glmnet: Pustaka untuk regresi linier dan logistik dengan regularisasi.
- h2o: Pustaka untuk machine learning skala besar.
- kernlab: Pustaka untuk algoritma kernel-based machine learning.
- lightgbm: Pustaka untuk algoritma gradient boosting.
- mlr3: Pustaka untuk machine learning dengan antarmuka yang konsisten.
- randomForest: Pustaka untuk algoritma random forest.
- superml: Pustaka untuk membuat model ensemble dengan mudah.
- xgboost: Pustaka untuk algoritma gradient boosting.
Terminal
install.packages(c(
"MASS",
"caret",
"caretEnsemble",
"e1071",
"glmnet",
"h2o",
"kernlab",
"lightgbm",
"mlr3",
"randomForest",
"superml",
"xgboost"
))
Terminal
library(pak)
pak::pkg_install(c(
"MASS",
"caret",
"caretEnsemble",
"e1071",
"glmnet",
"h2o",
"kernlab",
"lightgbm",
"mlr3",
"randomForest",
"superml",
"xgboost"
))
4 Deep Learning
- fastai: Pustaka untuk deep learning dengan antarmuka yang mudah digunakan.
- keras: Pustaka untuk membangun model deep learning.
- luz: Pustaka untuk deep learning dengan antarmuka yang sederhana.
- tensorflow: Pustaka untuk deep learning dan machine learning.
- tfprobability: Pustaka untuk probabilistic programming dengan TensorFlow.
- torch: Pustaka untuk deep learning dengan PyTorch.
- torchdatasets: Pustaka untuk dataset yang kompatibel dengan PyTorch.
- torchopt: Pustaka untuk optimisasi dalam PyTorch.
- torchvision: Pustaka untuk visi komputer dengan PyTorch.
Terminal
install.packages(c(
"fastai",
"keras",
"luz",
"tensorflow",
"tfprobability",
"torch",
"torchdatasets",
"torchopt",
"torchvision"
))
Terminal
library(pak)
pak::pkg_install(c(
"fastai",
"keras",
"luz",
"tensorflow",
"tfprobability",
"torch",
"torchdatasets",
"torchopt",
"torchvision"
))
5 Natural Language Processing (NLP)
- quanteda: Pustaka untuk analisis teks kuantitatif.
- tm: Pustaka untuk tekst mining.
Terminal
install.packages(c(
"quanteda",
"tm"
))
Terminal
library(pak)
pak::pkg_install(c(
"quanteda",
"tm"
))
6 Time Series Analysis
- feasts: Pustaka untuk analisis deret waktu.
- forecast: Pustaka untuk peramalan deret waktu.
- prophet: Pustaka untuk peramalan deret waktu dengan model Prophet.
- tseries: Pustaka untuk analisis deret waktu.
- tsibble: Pustaka untuk manipulasi data deret waktu.
- xts: Pustaka untuk manipulasi data deret waktu.
Terminal
install.packages(c(
"feasts",
"forecast",
"prophet",
"tseries",
"tsibble",
"xts"
))
Terminal
library(pak)
pak::pkg_install(c(
"feasts",
"forecast",
"prophet",
"tseries",
"tsibble",
"xts"
))
7 Spatial Data Analysis
- ggmap: Pustaka untuk membuat peta dengan ggplot2.
- leaflet: Pustaka untuk membuat peta interaktif.
Terminal
install.packages(c(
"ggmap",
"leaflet"
))
Terminal
library(pak)
pak::pkg_install(c(
"ggmap",
"leaflet"
))
8 Database Interaction
- RSQLite: Pustaka untuk berinteraksi dengan basis data SQLite.
- dbplyr: Pustaka untuk manipulasi data dalam basis data dengan dplyr.
- duckdb: Pustaka untuk basis data analitik yang cepat.
- haven: Pustaka untuk membaca data dari format SAS, SPSS, dan Stata.
- sqldf: Pustaka untuk melakukan query SQL pada data frame.
Terminal
install.packages(c(
"RSQLite",
"dbplyr",
"duckdb",
"haven",
"sqldf"
))
Terminal
library(pak)
pak::pkg_install(c(
"RSQLite",
"dbplyr",
"duckdb",
"haven",
"sqldf"
))
9 Performance and Parallel Computing
- Rcpp: Pustaka untuk meningkatkan performa dengan menggunakan C++.
- arrow: Pustaka untuk membaca dan menulis data dengan format Arrow.
- pbdZMQ: Pustaka untuk komunikasi antar proses dengan ZeroMQ.
Terminal
install.packages(c(
"Rcpp",
"arrow",
"pbdZMQ"
))
Terminal
library(pak)
pak::pkg_install(c(
"Rcpp",
"arrow",
"pbdZMQ"
))
10 Reproducibility and Reporting
- IRdisplay: Pustaka untuk menampilkan output dalam Jupyter Notebook.
- IRkernel: Pustaka untuk menjalankan R dalam Jupyter Notebook.
- knitr: Pustaka untuk membuat dokumen dinamis.
- languageserver: Pustaka untuk meningkatkan pengalaman pengguna dalam editor teks.
- quarto: Pustaka untuk membuat dokumen ilmiah dan laporan.
- renv: Pustaka untuk manajemen lingkungan R.
- repr: Pustaka untuk menampilkan output dalam Jupyter Notebook.
- rmarkdown: Pustaka untuk membuat dokumen dinamis dengan R Markdown.
- stargazer: Pustaka untuk membuat tabel statistik yang indah.
- targets: Pustaka untuk manajemen pipeline data.
- tinytex: Pustaka untuk menginstal LaTeX dengan mudah.
Terminal
install.packages(c(
"IRdisplay",
"IRkernel",
"knitr",
"languageserver",
"quarto",
"renv",
"repr",
"rmarkdown",
"stargazer",
"targets",
"tinytex"
))
Terminal
library(pak)
pak::pkg_install(c(
"IRdisplay",
"IRkernel",
"knitr",
"languageserver",
"quarto",
"renv",
"repr",
"rmarkdown",
"stargazer",
"targets",
"tinytex"
))
11 API and Web Scraping
- Rcrawler: Pustaka untuk web scraping.
- httr: Pustaka untuk berinteraksi dengan API web.
- jsonlite: Pustaka untuk membaca dan menulis data JSON.
- rvest: Pustaka untuk web scraping dengan CSS dan XPath.
- xml2: Pustaka untuk membaca dan menulis data XML.
Terminal
install.packages(c(
"Rcrawler",
"httr",
"jsonlite",
"rvest",
"xml2"
))
Terminal
library(pak)
pak::pkg_install(c(
"Rcrawler",
"httr",
"jsonlite",
"rvest",
"xml2"
))
12 Interactive Apps & Dashboards
- DT: Pustaka untuk membuat tabel interaktif.
- shiny: Pustaka untuk membuat aplikasi web interaktif.
Terminal
install.packages(c(
"DT",
"shiny"
))
Terminal
library(pak)
pak::pkg_install(c(
"DT",
"shiny"
))
13 Big Data & Distributed Computing
- arrow: Pustaka untuk membaca dan menulis data dengan format Arrow.
- sparklyr: Pustaka untuk berinteraksi dengan Apache Spark.
Terminal
install.packages(c(
"arrow",
"sparklyr"
))
Terminal
library(pak)
pak::pkg_install(c(
"arrow",
"sparklyr"
))
14 Julia Integration
- JuliaCall: Pustaka untuk memanggil fungsi Julia dari R.
- JuliaConnectoR: Pustaka untuk berinteraksi dengan Julia.
- JuliaFormulae: Pustaka untuk memanipulasi formula dalam Julia.
Terminal
install.packages(c(
"JuliaCall",
"JuliaConnectoR",
"JuliaFormulae"
))
Terminal
library(pak)
pak::pkg_install(c(
"JuliaCall",
"JuliaConnectoR",
"JuliaFormulae"
))
15 R and Python Integration
- reticulate: Pustaka untuk berinteraksi dengan Python dari R.
Terminal
install.packages(c(
"reticulate",
))
Terminal
library(pak)
pak::pkg_install(c(
"reticulate",
))
16 Penutup
Dengan memasang paket-paket ini, seorang data scientist dapat memanfaatkan berbagai alat dan teknik untuk menganalisis data dengan lebih efektif dan efisien. Paket-paket tersebut membantu dalam berbagai tugas, mulai dari manipulasi data, visualisasi, hingga machine learning dan deep learning. Dengan demikian, data scientist dapat menghasilkan insight yang bernilai dan membuat keputusan yang lebih baik berdasarkan data yang mereka miliki.
Jika menggunakan NixOS linux, penulis sudah membuat deklarasinya di dotfiles swayhome pustaka R agar lebih mudah pemasangannya.
Sekian. Jika Anda mempunyai pertanyaan, saran dan kritikan silahkan kirim ke surel atau telegram atau instagram. Semoga tulisan ini bermanfaat untuk pembaca semuanya.
Reuse
Citation
@online{qurrotul_ainur2025,
author = {Qurrotul Ainur, Hervy},
title = {Data {Science:} {Pustaka} {Dasar} {R} Yang {Harus}
{Diketahui}},
date = {2025-03-16},
url = {https://hervyqa.dev/blog/data-science-pustaka-dasar-r-yang-harus-diketahui/},
langid = {en}
}