Skip to content

Instantly share code, notes, and snippets.

@rmoff
Last active July 14, 2016 11:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rmoff/22cd8585894197c919726bd7092dc057 to your computer and use it in GitHub Desktop.
Save rmoff/22cd8585894197c919726bd7092dc057 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"[@rmoff](http://twitter.com/rmoff/) / July 14, 2016"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Import the RPY2 environment so that we can call R from Jupyter"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_`import readline` first is necessary to workaround the error `/u01/anaconda2/lib/libreadline.so.6: undefined symbol: PC`_"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import readline"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%load_ext rpy2.ipython"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Example usage"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Single inline command, prefixed with `%R`"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 4.25])"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%R X=c(1,4,5,7); sd(X); mean(X)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"R code block, marked by `%%R`"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"\n",
"Call:\n",
"lm(formula = Y ~ X)\n",
"\n",
"Residuals:\n",
" 1 2 3 4 \n",
" 0.88 -0.24 -2.28 1.64 \n",
"\n",
"Coefficients:\n",
" Estimate Std. Error t value Pr(>|t|)\n",
"(Intercept) 0.0800 2.3000 0.035 0.975\n",
"X 1.0400 0.4822 2.157 0.164\n",
"\n",
"Residual standard error: 2.088 on 2 degrees of freedom\n",
"Multiple R-squared: 0.6993,\tAdjusted R-squared: 0.549 \n",
"F-statistic: 4.651 on 1 and 2 DF, p-value: 0.1638\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%R\n",
"Y = c(2,4,3,9)\n",
"summary(lm(Y~X))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Graphics plot, output to the notebook"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAACnVBMVEUAAAABAQEEBAQFBQUGBgYH\nBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUWFhYXFxcYGBgZGRka\nGhobGxscHBwdHR0eHh4fHx8gICAhISEjIyMkJCQlJSUnJycoKCgpKSkqKiorKystLS0uLi4vLy8x\nMTEyMjIzMzM0NDQ1NTU2NjY3Nzc5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERF\nRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBSUlJTU1NUVFRVVVVWVlZXV1dYWFhZ\nWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2NkZGRmZmZnZ2doaGhpaWlqampsbGxtbW1u\nbm5vb29wcHBxcXFycnJzc3N0dHR2dnZ3d3d4eHh5eXl7e3t9fX1+fn5/f3+AgICBgYGCgoKEhISF\nhYWGhoaHh4eIiIiKioqLi4uMjIyOjo6QkJCRkZGSkpKTk5OVlZWWlpaXl5eZmZmampqbm5ucnJyd\nnZ2goKChoaGioqKkpKSmpqapqamrq6usrKytra2vr6+wsLCxsbGysrKzs7O1tbW2tra3t7e4uLi5\nubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnLy8vMzMzN\nzc3Ozs7Pz8/Q0NDR0dHS0tLT09PV1dXW1tbX19fY2NjZ2dnb29vc3Nzd3d3e3t7f39/h4eHj4+Pk\n5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb3\n9/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///9f3MY2AAALJklEQVR4nO3d/X+VdR3H8aOpsclg3ISk\nQokxKxqF23AQYEhmGAVhKXcBqxSRyTCJG6XQkCgtZSiJiIjIbaYQMBCHBOLZkHG3wfDs5nz/lk6n\nHmfbGQ871/d7Ha9r7/N6/nAe8n1c3+v6zJdn5zoDjhEDaZGgB0B2EVgcgcURWByBxRFYHIHFEVgc\ngcURWByBxRFYHIHFEVgcgcURWByBxRFYHIHFEVgcgcURWByBxRFYHIHFEVgcgcURWByBxRFYHIHF\n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\ngg==\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%R plot(X, Y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pass Python variable to R using `-i`"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import numpy as np\n",
"Z = np.array([1,4,5,10])"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 5.])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%R -i Z mean(Z)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"_For more information see [the documentation](http://rpy.sourceforge.net/rpy2/doc-dev/html/interactive.html)_"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment