rPython – R Interface to Python
[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.
> library(rPython) Loading required package: RJSONIO > ### load r data.frame ### > data(iris) > r_df1 <- iris > class(r_df1) [1] "data.frame" > head(r_df1, n = 3) Sepal.Length Sepal.Width Petal.Length Petal.Width Species 1 5.1 3.5 1.4 0.2 setosa 2 4.9 3.0 1.4 0.2 setosa 3 4.7 3.2 1.3 0.2 setosa > ### pass r data.frame to python dict ### > python.assign('py_dict1', r_df1) > python.exec('print type(py_dict1)') <type 'dict'> > ### convert python dict to pandas DataFrame ### > python.exec('import pandas as pd') > python.exec('py_df = pd.DataFrame(py_dict1)') > python.method.call('py_df', 'info') <class 'pandas.core.frame.DataFrame'> Int64Index: 150 entries, 0 to 149 Data columns (total 5 columns): Petal.Length 150 non-null values Petal.Width 150 non-null values Sepal.Length 150 non-null values Sepal.Width 150 non-null values Species 150 non-null values dtypes: float64(4), object(1)NULL > python.exec('print py_df.head(3)') Petal.Length Petal.Width Sepal.Length Sepal.Width Species 0 1.4 0.2 5.1 3.5 setosa 1 1.4 0.2 4.9 3.0 setosa 2 1.3 0.2 4.7 3.2 setosa > ### convert pandas DataFrame back to dict ### > python.exec('py_dict2 = py_df.to_dict(outtype = "list")') > ### pass python dict back to r list ### > r_list <- python.get('py_dict2') > class(r_list) [1] "list" > ### convert r list to r data.frame ### > r_df2 <- data.frame(r_list) > class(r_df2) [1] "data.frame" > head(r_df2, n = 3) Petal.Length Sepal.Length Petal.Width Sepal.Width Species 1 1.4 5.1 0.2 3.5 setosa 2 1.4 4.9 0.2 3.0 setosa 3 1.3 4.7 0.2 3.2 setosa
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.