rPithon vs. rPython
[This article was first published on Yet Another Blog in Statistical Computing » S+/R, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Similar to rPython, the rPithon package (http://rpithon.r-forge.r-project.org) allows users to execute Python code from R and exchange the data between Python and R. However, the underlying mechanisms between these two packages are fundamentally different. Wihle rPithon communicates with Python from R through pipes, rPython accomplishes the same task with json. A major advantage of rPithon over rPython is that multiple Python processes can be started within a R session. However, rPithon is not very robust while exchanging large data objects between R and Python.
rPython Session
library(sqldf) df_in <- sqldf('select Year, Month, DayofMonth from tbl2008 limit 5000', dbname = '/home/liuwensui/Documents/data/flights.db') library(rPython) ### R DATA.FRAME TO PYTHON DICTIONARY ### python.assign('py_dict', df_in) ### PASS PYTHON DICTIONARY BACK TO R LIST r_list <- python.get('py_dict') ### CONVERT R LIST TO DATA.FRAME df_out <- data.frame(r_list) dim(df_out) # [1] 5000 3 # # real 0m0.973s # user 0m0.797s # sys 0m0.186s
rPithon Session
library(sqldf) df_in <- sqldf('select Year, Month, DayofMonth from tbl2008 limit 5000', dbname = '/home/liuwensui/Documents/data/flights.db') library(rPithon) ### R DATA.FRAME TO PYTHON DICTIONARY ### pithon.assign('py_dict', df_in) ### PASS PYTHON DICTIONARY BACK TO R LIST r_list <- pithon.get('py_dict') ### CONVERT R LIST TO DATA.FRAME df_out <- data.frame(r_list) dim(df_out) # [1] 5000 3 # # real 0m0.984s # user 0m0.771s # sys 0m0.187s
To leave a comment for the author, please follow the link and comment on their blog: Yet Another Blog in Statistical Computing » S+/R.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.