Last active
July 14, 2016 11:18
-
-
Save rmoff/22cd8585894197c919726bd7092dc057 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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