R adalah bahasa pemrograman tingkat tinggi dan lingkungan perangkat lunak gratis yang terutama digunakan untuk komputasi statistik dan analisis data. Bahasa ini disukai oleh para ahli statistik, ilmuwan data, dan akademisi karena kemampuannya yang kuat dalam manipulasi data, pemodelan statistik, dan kemampuan grafis. R menyediakan berbagai paket yang memperluas fungsionalitasnya, menjadikannya dapat disesuaikan untuk berbagai tugas dalam penambangan data, bioinformatika, dan bahkan pembelajaran mesin.
R diciptakan pada awal 1990-an oleh Ross Ihaka dan Robert Gentleman di Universitas Auckland, Selandia Baru. Bahasa ini dirancang sebagai bahasa sumber terbuka yang didasarkan pada bahasa pemrograman S, yang dikembangkan di Bell Laboratories pada tahun 1970-an. R dirancang untuk menjadi alat statistik sekaligus bahasa pemrograman, memungkinkan pengguna untuk dengan mudah memanipulasi data dan menghasilkan keluaran grafis berkualitas tinggi.
Selama bertahun-tahun, R mendapatkan komunitas pengguna yang semakin berkembang dan ekosistem paket yang substansial, yang dikenal sebagai CRAN (Comprehensive R Archive Network). Jaringan ini memungkinkan pengguna untuk mengunduh dan menginstal berbagai pustaka yang memperluas kemampuan R. Pada awal 2000-an, R mulai mendapatkan perhatian di kalangan akademis dan industri, sering kali dikutip dalam makalah penelitian di berbagai bidang.
Hingga tahun 2023, R tetap menjadi bahasa dominan dalam ilmu data dan analisis statistik. Bahasa ini telah berkembang dengan pembaruan rutin, paket baru, dan komunitas aktif yang berkontribusi pada perbaikan dan peningkatan yang berkelanjutan. R juga diakui karena integrasinya dengan bahasa pemrograman dan kerangka kerja lain, semakin memperkuat perannya dalam analitik data modern.
R memiliki vektor sebagai salah satu struktur data utamanya. Sebuah vektor dapat menyimpan beberapa nilai dari tipe yang sama, menjadikannya penting untuk manipulasi data.
numbers <- c(1, 2, 3, 4, 5)
Data frame adalah struktur dasar lainnya, yang memungkinkan penyimpanan data dalam format tabel di mana setiap kolom dapat memiliki tipe yang berbeda.
data <- data.frame(Name=c("Alice", "Bob"), Age=c(25, 30))
R mendukung fungsi kelas satu, memungkinkan pengguna untuk mendefinisikan dan memanggil fungsi dengan mudah.
add <- function(x, y) {
return(x + y)
}
result <- add(5, 3)
Struktur kontrol standar, seperti if
, else
, dan loop for
, adalah bagian integral dari sintaks R.
for (i in 1:5) {
print(i)
}
R memiliki kemampuan plotting bawaan yang luas, memungkinkan pembuatan visualisasi dengan satu panggilan fungsi.
plot(data$Age, main="Plot Usia", xlab="Indeks", ylab="Usia")
Pengguna dapat menginstal paket tambahan dari CRAN langsung melalui R menggunakan fungsi install.packages()
.
install.packages("ggplot2")
R mendukung daftar, yang dapat menyimpan tipe campuran, dan lingkungan yang mendefinisikan ruang lingkup variabel.
my_list <- list(name="Alice", age=25, height=5.5)
String dalam R dapat dimanipulasi menggunakan fungsi bawaan seperti paste()
untuk penggabungan.
greeting <- paste("Halo", "Dunia")
R memanfaatkan operasi vektorisasi yang memungkinkan pemrosesan batch pada struktur data.
squared <- numbers^2
Faktor digunakan untuk menangani data kategorikal, memungkinkan R untuk memperlakukannya dengan tepat selama analisis.
categories <- factor(c("Tinggi", "Sedang", "Rendah"))
Beberapa IDE populer di kalangan pengembang R:
R berfungsi sebagai bahasa yang diinterpretasikan menggunakan interpreter R, yang memungkinkan eksekusi kode R secara langsung. Paket alat R menyediakan komponen yang diperlukan untuk membangun paket R jika Anda tertarik untuk membagikan kode Anda.
Biasanya, proyek R disusun dengan skrip dalam direktori R/
, data dalam folder data/
, dan dokumentasi dalam folder docs/
. Pengguna dapat memeriksa proyek menggunakan sistem kontrol versi seperti Git.
R digunakan di berbagai bidang:
caret
dan randomForest
.ggplot2
.Ketika dibandingkan dengan bahasa lain seperti Python, R lebih spesialisasi untuk analisis statistik dan visualisasi. Python menyediakan cakupan aplikasi yang lebih luas tetapi semakin terintegrasi dengan ilmu data melalui pustaka seperti Pandas dan NumPy. C++ umumnya memberikan eksekusi yang lebih cepat tetapi tidak memiliki kemampuan statistik R.
Java menawarkan solusi perusahaan yang kuat, sementara R unggul dalam analisis cepat dan penelitian. Bahasa seperti SAS atau MATLAB juga dirancang untuk analisis statistik tetapi tidak bersumber terbuka, sementara R berkembang berkat kontribusi komunitas.
Untuk menerjemahkan kode R ke bahasa lain, alat terjemahan sumber ke sumber yang ada seperti Rcpp untuk R ke C++ dapat bermanfaat untuk kinerja. Selain itu, pengguna dapat menjelajahi pustaka yang memfasilitasi terjemahan ke Python, seperti rpy2
, yang memungkinkan integrasi fungsi R dan data frame ke dalam skrip Python.
Lebih jauh lagi, menggunakan alat seperti reticulate
dapat membantu dalam mengintegrasikan R ke dalam lingkungan Python, memungkinkan penggunaan R bersamaan dengan pustaka Python secara mulus.