15 ตุลาคม 2558

Published 10/15/2558 by with 0 comment

R + Python เขียนภาษาไพทอนร่วมกับภาษา R

สวัสดีผู้อ่านทุกท่านครับ ในสายการวิเคราะห์ข้อมูล Data Science นักวิทยาศาสตร์ข้อมูล (Data scientist) ส่วนใหญ่นิยมใช้ภาษา R กับภาษา Python ในการเขียนโปรแกรมเพื่อประมวลผลวิเคราะห์ข้อมูล เนื่องจากความง่ายและความสะดวกในการพัฒนาโปรแกรม และมีโมดูลที่ค่อนข้างครบถ้วนสำหรับความต้องการของนักวิทยาศาสตร์ข้อมูล จึงเป็นที่นิยมกัน บทความนี้ผมจะพาผู้อ่านไปเขียนโปรแกรมภาษาไพทอนเชื่อมกับภาษา R กันครับ

ทำการโหลด R มาติดตั้งได้จาก http://mirrors.psu.ac.th/pub/cran/
เมื่อทำการติดตั้งเสร็จแล้ว ให้ทำการตั้งค่า path ให้ชี้ไปยัง R เสร็จแล้วเรามาใช้ภาษาไพทอนร่วมกับภาษา R กันครับ
หมายเหตุ
ทั้งภาษา R และโมดูล rpy2 ใช้ GPLv2 ซึ่งต่างจากไพทอนที่ใช้ Python Software Foundation License

ทำการติดตั้ง rpy2
โมดูล rpy2  เป็นโมดูลหนึ่งในภาษาไพทอนที่สามารถเขียนโค้ดไพทอนทำงานกับภาษา R ได้ โดยรองรับทั้ง Python 2 และ Python 3
สามารถติดตั้งได้โดยใช้คำสั่ง pip:
pip install rpy2

สำหรับผู้ใช้งานลินุกซ์สาย Debian/Ubuntu สามารถโหลดไฟล์ sh ติดตั้งได้ที่ https://gist.github.com/acompa/3700827




สำหรับผู้ใช้งาน Windows ให้ทำการโหลดไฟล์ .whl มาติดตั้งจาก http://www.lfd.uci.edu/~gohlke/pythonlibs/#rpy2
ตัวอย่างเช่น ผมใช้ Python 3.4 64 Bit บน Windows ผมทำการโหลดไฟล์ rpy2‑2.7.1‑cp34‑none‑win_amd64.whl มาแล้วเปิดคอมมาไลน์ ใข้คำสั่ง pip:
pip install rpy2‑2.7.1-cp34-none-win_amd64.whl

เสร็จแล้ว ให้การกำหนด path ให้ R มีทั้ง R_HOME และ R_USER
ตัวอย่างเช่น ผมใช้ R เวชั่น 3.0.2 ให้ทำการตั้งค่า path โดยเข้าไปที่

My Computer > System properties > Advanced > Environment Variables

เพิ่ม C:\Program Files\R\R-3.0.2\bin\x64 ในช่อง variable ของ path

และในรายการ system variable ให้ทำการเพิ่ม variables เข้าไป
R_HOME    c:\program files\r\r-3.0.2

R_USER C:\Users\"your user name"\R





เมื่อทำการติดตั้ง rpy2 เสร็จ เรามาลองเรียกใช้งานภาษา R ผ่านภาษาไพทอนกันครับ
สั่งติดตั้งโมดูลให้กับ R โดยผ่านภาษาไพทอน

[python]
# import rpy2's package module
import rpy2.robjects.packages as rpackages
# import R's utility package
utils = rpackages.importr('utils')
# select a mirror for R packages
utils.chooseCRANmirror(ind=1) # select the first mirror in the list
utils.install_packages('ggplot2') # ทำการติดตั้งโมดูล ggplot2
[/python]

เรียกใช้งานโมดูลของ R

[python]
import rpy2.robjects as robjects
pi = robjects.r['pi'] # เรียกใช้งานไลบรารี pi
print(pi[0])
[/python]

ผลลัพธ์
3.141592653589793

เรียกใช้งานโมดูล R กับภาษาไพทอน วาดกราฟออกมา

[python]
from rpy2.robjects.packages import importr

base = importr('base')
stats = importr('stats')
graphics = importr('graphics')

m = base.matrix(stats.rnorm(100), ncol = 5)
pca = stats.princomp(m)
graphics.plot(pca, main = "Eigen values")
stats.biplot(pca, main = "biplot")
[/python]

ผลลัพธ์

R + Python เขียนภาษาไพทอนร่วมกับภาษา R รูปที่ 1R + Python เขียนภาษาไพทอนร่วมกับภาษา R รูปที่ 2

อ่านเอกสารการใช้งานได้ที่ https://rpy2.readthedocs.org

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)