Kursus
Data Science telah menjadi bagian integral dari hampir setiap industri saat ini. Mulai dari perbankan, asuransi hingga layanan kesehatan, jumlah data yang sangat besar dihasilkan setiap detik. Karena itu, menjadi keharusan bagi kita untuk dapat memanfaatkan sejumlah besar data ini guna menghasilkan insight yang dapat ditindaklanjuti dan mengimplementasikannya. Banyak alat berupa bahasa pemrograman tersedia di pasar saat ini. Dari sekian banyak bahasa tersebut, Python dan R tampak memimpin persaingan.
Baik Python maupun R digunakan secara luas di dunia data science. Keduanya memiliki beragam alat yang menyediakan rangkaian fungsi yang sangat cocok untuk skenario data science. Jika Python adalah bahasa serbaguna untuk berbagai aplikasi, R adalah bahasa pemrograman dan lingkungan untuk komputasi statistika dan grafik.
Gambaran Ekosistem Python dan R
Mari kita lihat berbagai aspek dari kedua bahasa ini dan apa yang baik serta kurang baik dari masing-masing.
Bahasa Pemrograman Python

Python adalah bahasa pemrograman tingkat tinggi yang diinterpretasikan dan bersifat umum. Bahasa ini dibuat dan dirilis pada 1991 oleh Guido Van Rossum. Sejak dirilis, Python menjadi sangat populer di berbagai bidang termasuk data science. Saat ini Python termasuk di antara bahasa pemrograman dengan pertumbuhan tercepat di dunia.
Beberapa alasan popularitasnya yang luas antara lain:
- Bahasa berorientasi objek
- Serbaguna
- Memiliki dukungan komunitas yang luar biasa
- Sederhana dan mudah dipahami serta dipelajari
- Memiliki paket efisien seperti pandas, numpy, dan scikit-learn yang menjadikannya pilihan tepat untuk aktivitas machine learning.
Namun, ketika menyangkut komputasi statistika, Python tertinggal dan tidak memiliki paket khusus, berbeda dengan R.
Bahasa Pemrograman R

R pada dasarnya adalah perangkat lunak untuk komputasi statistika dan grafik yang didukung oleh R Foundation for Statistical Computing. R pertama kali muncul pada Agustus 1993 dengan rilis stabil pertamanya pada 1995, dan sejak itu banyak digunakan oleh ahli statistik dan penambang data untuk komputasi statistika.
Beberapa fitur yang membuat R menonjol di antara bahasa lain adalah:
- Terdiri dari paket untuk hampir semua aplikasi statistika yang dapat dibayangkan. Saat ini CRAN menampung lebih dari 10 ribu paket.
- Dilengkapi pustaka visualisasi yang sangat baik seperti ggplot2.
- Mampu melakukan analisis mandiri dengan paket bawaan.
Namun ada sisi kurangnya. Dari sisi kinerja, R bukan bahasa yang paling cepat dan kadang bisa boros memori saat menangani dataset besar.
Menggunakan Python & R Bersamaan
R dan Python adalah alat yang sangat baik pada bidangnya masing-masing, tetapi sering dianggap sebagai pesaing. Alih-alih melihatnya demikian, kita sebaiknya memanfaatkan keunggulan keduanya agar memperoleh hasil terbaik dari dua dunia.
Komunitas Data Science saat ini memiliki orang-orang yang umumnya hanya bekerja dengan satu bahasa. Namun, masih ada yang menggunakan Python dan R sekaligus, meski persentasenya kecil. Di sisi lain, banyak yang berkomitmen pada satu bahasa pemrograman tetapi berharap dapat mengakses beberapa kapabilitas dari "lawan" mereka. Misalnya, pengguna R kadang merindukan kemampuan berorientasi objek yang menjadi bawaan Python, dan sebaliknya, sebagian pengguna Python menginginkan jangkauan lengkap distribusi statistika yang tersedia di R.
Gambar di bawah menunjukkan hasil survei yang dilakukan oleh Red Monk pada kuartal ketiga 2018. Hasil ini didasarkan pada popularitas bahasa di Stack Overflow serta di Github dan dengan jelas menunjukkan bahwa baik R maupun Python mendapat peringkat cukup tinggi untuk aktivitas Data Science. Karena itu, tidak ada alasan mendasar mengapa kita tidak bisa menggunakan keduanya dalam proyek yang sama. Tujuan akhir kita adalah melakukan analitik yang lebih baik dan mendapatkan insight yang lebih baik, dan pilihan bahasa pemrograman tidak seharusnya menghambat tercapainya tujuan tersebut.

Bagaimana Menggunakan Python & R dalam Satu Proyek?
Ketika menyisipkan SQL ke dalam skrip R atau Python, kita tidak ragu melakukannya. Lalu mengapa tidak memanfaatkan keunggulan statistika R bersama kemampuan pemrograman Python dengan cara yang sama? Ya, ini bisa dilakukan, dan ada pustaka yang dapat menangani transisi ini dengan sangat baik.
Pada dasarnya ada dua pendekatan untuk menggunakan Python dan R berdampingan dalam satu proyek.
R di dalam Python
Ini berarti memanggil fungsi R dari dalam skrip Python. Beberapa pustaka yang dibuat untuk tujuan ini adalah:
1. PypeR
PypeR menyediakan cara sederhana untuk mengakses R dari Python melalui pipe. PypeR juga termasuk dalam Python’s Package Index yang menyediakan cara instalasi yang lebih praktis. PypeR sangat berguna saat tidak diperlukan transfer data interaktif yang sering antara Python dan R. Dengan menjalankan R melalui pipe, program Python memperoleh fleksibilitas dalam kontrol sub-proses, kontrol memori, dan portabilitas lintas sistem operasi populer, termasuk Windows, GNU Linux, dan Mac OS.

Konvensi untuk konversi objek Python ke objek R
2. pyRserve
pyRserve adalah pustaka lain yang dibuat untuk tujuan ini. Ia menggunakan Rserve sebagai gerbang koneksi RPC. Melalui koneksi tersebut, variabel dapat diatur di R dari Python, dan fungsi R juga dapat dipanggil dari jarak jauh. Objek R diekspos sebagai instance kelas yang diimplementasikan Python, dengan fungsi R sebagai metode terikat pada objek tersebut dalam sejumlah kasus.
3. rpy2
Pustaka rpy2 lebih sering digunakan dibanding dua sebelumnya. Alasannya, rpy2 sedang dikembangkan secara aktif dan agresif. Pustaka ini menjalankan R tertanam dalam proses Python. Ia membuat kerangka kerja yang dapat menerjemahkan objek Python menjadi objek R, meneruskannya ke fungsi R, dan mengonversi keluaran R kembali menjadi objek Python.

Salah satu keuntungan menggunakan R di dalam Python adalah kita dapat dengan mudah memakai paket R yang hebat seperti ggplot2, tidyr, dplyr, dan lainnya di Python. Sebagai contoh, mari lihat bagaimana kita dapat dengan mudah menggunakan ggplot2 untuk pemetaan di Python.
- Plot Dasar

https://rpy2.github.io/doc/latest/html/graphics.html#plot

- Geometri

https://rpy2.github.io/doc/latest/html/graphics.html#geometry

Sumber daya rpy2
Untuk ulasan mendalam dan pengetahuan rinci tentang instalasi serta cara kerja rpy2, Anda dapat melihat sumber berikut:
- Dokumentasi Resmi rpy2
- RPy2: Menggabungkan Kekuatan R + Python untuk Data Science
- Mengakses R dari Python menggunakan RPy2
Python di dalam R
Anda juga dapat menjalankan skrip Python di R dengan menggunakan salah satu alternatif berikut:
1. rJython
Paket ini mengimplementasikan antarmuka ke Python melalui Jython. Ditujukan agar paket lain dapat menyematkan kode Python bersama R.
2. rPython
rPython kembali merupakan paket yang memungkinkan R memanggil Python. Paket ini memungkinkan menjalankan kode Python, melakukan pemanggilan fungsi, menetapkan dan mengambil variabel, dan sebagainya dari R.
3. SnakeCharmR
SnakeCharmR adalah versi modern yang diperbarui dari rPython. Ini merupakan fork dari ‘rPython’ yang menggunakan ‘jsonlite’ dan memiliki banyak peningkatan dibanding rPython.
4. PythonInR
PythonInR memudahkan akses ke Python dari dalam R dengan menyediakan fungsi untuk berinteraksi dengan Python dari R.
5. reticulate
Paket reticulate menyediakan seperangkat alat yang komprehensif untuk interoperabilitas antara Python dan R. Dari semua alternatif di atas, ini adalah yang paling banyak digunakan, terutama karena sedang dikembangkan secara agresif oleh RStudio.
Reticulate menyematkan sesi Python di dalam sesi R, memungkinkan interoperabilitas yang mulus dan berkinerja tinggi. Paket ini memungkinkan Anda menyatukan kode Python ke dalam R, menciptakan jenis proyek baru yang merajut kedua bahasa tersebut.

Paket reticulate menyediakan fasilitas berikut:
- Memanggil Python dari R dalam berbagai cara termasuk R Markdown, menyertakan skrip Python, mengimpor modul Python, dan menggunakan Python secara interaktif dalam sesi R.
- Translasi antara objek R dan Python (misalnya, antara data frame R dan data frame Pandas, atau antara matriks R dan array NumPy).
- Penyambungan fleksibel ke berbagai versi Python termasuk virtual environment dan Conda environment.
Sumber daya Reticulate
Beberapa sumber yang bagus untuk menggunakan paket reticulate adalah:
- Dokumentasi yang cukup lengkap dan memiliki banyak contoh serta use case untuk membantu Anda memulai.
- https://longhowlam.wordpress.com/2017/04/10/test-driving-python-integration-in-r-using-the-reticulate-package/
- SNAKES IN A PACKAGE: COMBINING PYTHON AND R WITH RETICULATE
Kesimpulan
R dan Python adalah alat yang sangat baik dan hampir cukup untuk menjalankan tugas Data Science dari nol. Seseorang mungkin tidak perlu menggunakan keduanya dalam satu proyek. Namun, pengetahuan tentang keduanya bisa sangat berguna, terutama memberi kita opsi bekerja di lingkungan yang berbeda. Seperti dikatakan, fokus seharusnya pada keterampilan, bukan pada alat. Karena itu, kita perlu terbuka untuk mempelajari alat dan bahasa baru jika membantu kita menyelesaikan masalah dengan lebih mudah.
Jika Anda ingin mulai mempelajari salah satu bahasa, ikuti kursus DataCamp Introduction to Python atau Introduction to R. Selain itu, lihat juga Tutorial Python untuk Pemula kami.
Referensi:
- Menghubungkan R dan Python — Andrew Collier
- Dari ‘R vs Python’ ke ‘R and Python’
