BLANTERWISDOM101

Lebih Enak Python atau R? Olah Data dengan Kombinasi Keduanya

Rabu, 23 Desember 2020

 Python dan R adalah dua bahasa yang sering digunakan dalam membuat statistik data, machine learning, dan analisis data. Dengan syntax yang sederhana dan mudah dipahami kita dapat mengolah data dengan mudah. Seringkali kedua bahasa ini dibanding-bandingkan oleh para scentist data.



Kedua bahasa tersebut memiliki kelebihan dan kekurangannya masing-masing. Namun tetap saja keduanya merupakan sebuah alat/tool dalam membuat sesuatu.

Daripada membandingkan kedua bahasa tersebut mana yang lebih enak digunakan mari kita gabungkan perintah dari Python dan R tersebut. Python yang berjalan di R dan R yang berjalan di Python. Apakah bisa? Bisa lho.. 

Berikut akan kami beri contoh kecil pengkombinasian kedua bahasa tersebut. Yang pastinya ini kami dapatkan juga dari materi pembelajaran pada data science. Kami kutip dari salah satu penggiatnya, Muhammad Ichsan.

Python dan R yang bersatu

Untuk kompiler python, install anaconda. Bisa dapat didownload gratis di situs anaconda resmi.
Kemudian install Rstudio untuk kompilasi bahasa R. Untuk menginstall Rstudio, dapat melalui 2 cara, yakni didownload dan diinstall melalui situs resmi RStudio, atau melalui layar utama ‘Anaconda’.
Bilamana RStudio belum terdapat package reticulate, maka harus install reticulate dahulu menggunakan command:
install.packages(′reticulate′)

Dalam kasus ini, saya menginstall Anaconda3 pada direktori ‘G:/Anaconda3’
Cek environment:
library(reticulate)
conda_list()
Output:
##         name                                      python
## 1  Anaconda3                   G:\\Anaconda3\\python.exe
## 2 geospatial G:\\Anaconda3\\envs\\geospatial\\python.exe
terlihat bahwa ada 2 enviroment yang telah kita buat pada anaconda. Sebagai contohnya, saya pakai environment default yang bernama Anaconda3. Diatur agar sintaks berikut ini ke direktori tersebut.
#Ini adalah sel dari R
use_python('G:/Anaconda3/python.exe')
py_run_string("import os as os")
py_run_string("os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = 'G:/Anaconda3/Library/plugins/platforms'")
 Dalam hal di atas, saya tidak menginstall environment pada conda (menggunakan default environment). Silakan diganti menjadi G:/Anaconda3/envs/geospatial/python.exe bilamana ingin menggunakan environment geospatial.

Berkaitan dengan QT_QTA_PLATFORM_PLUGIN, hal tersebut dibutuhkan agar Rstudio tidak Crash ketika menjalankan grafik dari matplotlib/seaborn.
#Ini adalah sel dari Python
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt


xs = np.linspace(0,10)
ys = 3*xs**(0.75) - 1
table = pd.DataFrame({'x':xs,'y':ys})
table
Maka output yang akan muncul:
##             x          y
## 0    0.000000  -1.000000
## 1    0.204082  -0.089093
## 2    0.408163   0.531957
## 3    0.612245   1.076420
## 4    0.816327   1.576435
## 5    1.020408   2.045802
## 6    1.224490   2.492108
## 7    1.428571   2.920105
## 8    1.632653   3.333030
## 9    1.836735   3.733213
## 10   2.040816   4.122408
## 11   2.244898   4.501976
## 12   2.448980   4.873002
## 13   2.653061   5.236368
## 14   2.857143   5.592805
## 15   3.061224   5.942928
## 16   3.265306   6.287259
## 17   3.469388   6.626247
## 18   3.673469   6.960284
## 19   3.877551   7.289711
## 20   4.081633   7.614830
## 21   4.285714   7.935908
## 22   4.489796   8.253184
## 23   4.693878   8.566874
## 24   4.897959   8.877172
## 25   5.102041   9.184254
## 26   5.306122   9.488278
## 27   5.510204   9.789393
## 28   5.714286  10.087732
## 29   5.918367  10.383418
## 30   6.122449  10.676566
## 31   6.326531  10.967280
## 32   6.530612  11.255659
## 33   6.734694  11.541794
## 34   6.938776  11.825768
## 35   7.142857  12.107662
## 36   7.346939  12.387549
## 37   7.551020  12.665499
## 38   7.755102  12.941577
## 39   7.959184  13.215844
## 40   8.163265  13.488359
## 41   8.367347  13.759175
## 42   8.571429  14.028345
## 43   8.775510  14.295918
## 44   8.979592  14.561939
## 45   9.183673  14.826453
## 46   9.387755  15.089501
## 47   9.591837  15.351123
## 48   9.795918  15.611357
## 49  10.000000  15.870240
# Ini adalah sel dari python
plt.style.use('seaborn')
fig, ax = plt.subplots()
ax.plot(xs,ys)
plt.show()
Statistik diagram yang tercipta:

Sekarang, mari kita ubah dataframe dari python ke R dengan sintak py$….. Titik tersebut diisikan sesuai nama dataframe dari python.
#ini adalah sel dari R
table_r <- py$table
table_r
Output:
##             x           y
## 1   0.0000000 -1.00000000
## 2   0.2040816 -0.08909267
## 3   0.4081633  0.53195741
## 4   0.6122449  1.07641968
## 5   0.8163265  1.57643499
## 6   1.0204082  2.04580221
## 7   1.2244898  2.49210773
## 8   1.4285714  2.92010523
## 9   1.6326531  3.33302989
## 10  1.8367347  3.73321331
## 11  2.0408163  4.12240833
## 12  2.2448980  4.50197621
## 13  2.4489796  4.87300174
## 14  2.6530612  5.23636763
## 15  2.8571429  5.59280486
## 16  3.0612245  5.94292764
## 17  3.2653061  6.28725860
## 18  3.4693878  6.62624733
## 19  3.6734694  6.96028420
## 20  3.8775510  7.28971110
## 21  4.0816327  7.61482960
## 22  4.2857143  7.93590752
## 23  4.4897959  8.25318415
## 24  4.6938776  8.56687439
## 25  4.8979592  8.87717221
## 26  5.1020408  9.18425351
## 27  5.3061224  9.48827837
## 28  5.5102041  9.78939313
## 29  5.7142857 10.08773195
## 30  5.9183673 10.38341825
## 31  6.1224490 10.67656593
## 32  6.3265306 10.96728035
## 33  6.5306122 11.25565927
## 34  6.7346939 11.54179361
## 35  6.9387755 11.82576808
## 36  7.1428571 12.10766182
## 37  7.3469388 12.38754890
## 38  7.5510204 12.66549878
## 39  7.7551020 12.94157669
## 40  7.9591837 13.21584403
## 41  8.1632653 13.48835865
## 42  8.3673469 13.75917517
## 43  8.5714286 14.02834521
## 44  8.7755102 14.29591764
## 45  8.9795918 14.56193876
## 46  9.1836735 14.82645255
## 47  9.3877551 15.08950075
## 48  9.5918367 15.35112310
## 49  9.7959184 15.61135741
## 50 10.0000000 15.87023976
Dumping diagram statistik tabel:
# Ini adalah sintaks dari R
library('ggplot2')
ggplot(data=table_r, aes(x=x, y=y)) +
  geom_line()
Maka diagram statistik yang tercipta:


Dumping kedua statistik:
# Ini adalah sintaks dari R.
x1<-seq(0,10,1)
y1<-x1**0.9+4
table2<-data.frame(x1,y1)
table2
Output:
##    x1        y1
## 1   0  4.000000
## 2   1  5.000000
## 3   2  5.866066
## 4   3  6.687875
## 5   4  7.482202
## 6   5  8.256700
## 7   6  9.015753
## 8   7  9.762199
## 9   8 10.498019
## 10  9 11.224674
## 11 10 11.943282
Dengan Python:
# ini adalah sel python
table2_py = r.table2
table2_py
Maka output yang muncul:
##       x1         y1
## 0    0.0   4.000000
## 1    1.0   5.000000
## 2    2.0   5.866066
## 3    3.0   6.687875
## 4    4.0   7.482202
## 5    5.0   8.256700
## 6    6.0   9.015753
## 7    7.0   9.762199
## 8    8.0  10.498019
## 9    9.0  11.224674
## 10  10.0  11.943282
Lalu kita buat diagram statistik kembali dengan:
# ini adalah sel python
plt.plot(table2_py['x1'], table2_py['y1'])
plt.plot(xs,ys)
plt.show()
Maka data yang tercipta:

Nah, diatas adalah salah satu contoh cara menjalankan python di R dan sebaliknya. Hal ini berkaitan dengan kompiler yang digunakan ya guys. Jika kamu menggunakan hanya compiler biasa pada python hal ini tidak bisa. Disini kita memakai anaconda dan RStudio sebagai kedua compiler bahasa tersebut.
Share This :
Arya Kresna

Hanya seorang pelajar yang hobi nya membuat kode dan berharap karya nya bermanfaat bagi orang lain.

0 komentar

Berkomentar dengan bahasa yang baik dan benar sangat diperlukan