{ "metadata": { "name": "", "signature": "sha256:9a98aacffc1d6ee7ee25b86bfed830ac8f4a60c5c66c803590ace6b2335f4a0c" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "A \"Native\" R kernel for IPython" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a quick hack that simply prepends `%%R` to every cell and requires using the IPython R magic.\n", "\n", "To make this work, run:\n", "\n", " ipython profile create rkernel\n", " \n", "Then put the accompanying `rkernel.py` file in the `startup/` directory of the above profile directory, and run IPython with\n", "\n", " ipython --profile rkernel\n", " \n", "where `` can be `notebook`, `qtconsole`, or nothing for the terminal client.\n", "\n", "Written in 20 minutes by F. Perez, Ariel Rokem and Haoxing Zhang @ Stanford, Feb 19 2014." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simple variable assignment:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "a <- 1\n", "a" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "text": [ "[1] 1\n" ] } ], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Simple plots" ] }, { "cell_type": "code", "collapsed": false, "input": [ "X <- c(1,2,3)\n", "Y <- c(4.5,5.7,8.1)\n", "plot(X,Y)\n", "print(summary(lm(Y~X)))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "text": [ "\n", "Call:\n", "lm(formula = Y ~ X)\n", "\n", "Residuals:\n", " 1 2 3 \n", " 0.2 -0.4 0.2 \n", "\n", "Coefficients:\n", " Estimate Std. Error t value Pr(>|t|)\n", "(Intercept) 2.5000 0.7483 3.341 0.185\n", "X 1.8000 0.3464 5.196 0.121\n", "\n", "Residual standard error: 0.4899 on 1 degrees of freedom\n", "Multiple R-squared: 0.9643,\tAdjusted R-squared: 0.9286 \n", "F-statistic: 27 on 1 and 1 DF, p-value: 0.121\n", "\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAACqVBMVEUAAAABAQECAgIDAwMEBAQF\nBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQWFhYXFxcZGRka\nGhobGxsdHR0eHh4fHx8hISEiIiIjIyMkJCQlJSUmJiYnJycoKCgpKSkqKiorKystLS0uLi4vLy8w\nMDAxMTEyMjIzMzM1NTU3Nzc4ODg5OTk6Ojo7Ozs8PDw+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVG\nRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZ\nWVlaWlpbW1tcXFxeXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2dqampra2tsbGxtbW1vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp8fHx9fX1+fn5/f3+AgICBgYGCgoKFhYWH\nh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZma\nmpqbm5ucnJyenp6fn5+goKCioqKkpKSmpqaoqKipqamqqqqrq6usrKytra2urq6wsLCxsbGysrKz\ns7O1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbH\nx8fJycnKysrLy8vMzMzPz8/R0dHS0tLU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f\n39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozu7u7v7+/w8PDx8fHy8vLz\n8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///9Sr5kMAAANFUlEQVR4nO3d/X/V\nZR3H8SNr4C2bUsnNUkYoOtAybkQZ4t00yQ0RBIeVloo3qVkUEGZW3uBolaWTMkkxT7W5uNlIE1A0\nvNlwsKNs3LTtsHP9JZ0dyLHv2R6ec67ry7l67/X84ZzxvfB6fOSl29l320XEQFok3wMgXAQWR2Bx\nBBZHYHEEFkdgcQQWR2BxBBZHYHEEFkdgcQQWR2BxBBZHYHEEFkdgcQQWR2BxBBZHYHEEFkdgcQQW\nR2BxBBZHYHEEFkdgcQQWR2BxBBZHYHEEFkdgcQQWR2BxBBZHYHEEFkdgcQQWR2BxBBZHYHEEFkdg\ncQQWR2BxBBZHYHEEFkdgcQQWR2BxFoFj62qQf7/tCSvwczfn+98NSTPeCS3wk7n/s3BmGYG1EVgc\ngcURWByBxRFYHIHFEVjN4Q8H/JLAWnrvufrW2a8dd4HAWn75iDEHZn7cf4HAWq7tTD6s2th/wUXg\nREfvIFcJnA83xpIPP2zov2Ad+NDK0pGRgokruoILBM6H9bf1mJ0zD/dfsA68pLw+1hNrrKgOLhA4\nL9bNnXvTW8f92jpwUWvqqXNMcIHAXrAOPLU29VQ3LbhAYC9YB24umVxZXTVl7LbgAoG9YP8qOh6t\nXV0TjaddJ7AXXH0e3LIheIXAXnAV+PnTPn2z4Xsp5ctynwrOhHAna9+2lIXzc5sITrkJvP+T9Gt3\nLchhHLhmHXj7Zd+IXTuq4LLW4AKBvWAdeNYd9465v+vwd64PLhDYC9aBT2nrPOmwMe2jgwsE9oJ1\n4AnRLZEtxvzlvOACgb1gHfipwtFPnb1sadEfgwsE9oL9q+hde8yONaveTLtOYC+E9x0dBPYCgcUR\nWByBxRFYHIHFEVgcgcURWByBxRFYHIHFEVgcgcURWByBxRFYHIHFEVgcgcURWByBxRFYHIHFEVgc\ngcURWByBxbkJvI8jHHxlHXhem2mZPqJwzp7gAoG9YB04stssWHywe3namToE9oKLwOfsNKa9KLhA\nYC/YB94Ur9hoTP2k4AKBvWB/ys74UcVlpqG4JrhAYC84eBXdvWuzaWpMu0xgL4R3GCmBvRDCYaR1\n5SkTLs99KjjDnSxx1oEbDw+xQGAv2H+adH7D4AsE9oJ94NcWVb0x2AKBveDiTtaW6Zeu+yBtgcBe\ncBHYJOrvLBkbXCCwF5wETkr8M7hAYC9YB35k/xALBPYCnweLI7A4AosjsDgCiyOwOAKLI7A4Aosj\nsDgCiyOwOAKLI7A4AosjsDgCiyOwOAKLI7A4AosjsDgCiyOwOAKLI7A4AosjsDgXgRMdvYNcJbAX\nrAMfWlk6MlIwcUVXcIHAXrAOvKS8PtYTa6yoDi4Q2AvWgYtaU0+dY4ILBPaCdeCptamnumnBBQJ7\nwTpwc8nkyuqqKWO3BRcI7AX7V9HxaO3qmmg87TqBvRDCYaQd21IW3pj7VHAmhMNIX/lWygVX5D4V\nnOFOljgOIxXHYaTiOIxUHIeRiuMwUnEcRiqOw0jF8XmwOAKLI7A4AosjsDgCiyOwOAKLI7A4Aosj\nsDgCiyOwOAKLI7A4AosjsDgCiyOwOAKLI7A4AosjsDgCiyOwOAKLI7A4N4H3fZJ+jcBesA48r820\nTB9ROGdPcIHAXnDx46MLFh/sXj4/uEBgL7gIfM5OY9qLggsE9oJ94E3xio3G1E8KLhDYC9aBZ40f\nVVxmGoprggsE9oKDV9Hduzabpsa0ywT2QghnVR5DYC+EcFbl1tUpM6/OeSi4E8KdrPdeTZl/fW4T\nwSnuZImzDrxz9usfXFJQOPvD4AKBvWAd+Kt3d82/4z9dd10TXCCwF6wDn95mJr5tTPsZwQUCe8E6\n8JWPJr651pjfXRRcILAXrAO3XjT5uhGzL/3i1uACgb1g/yo60fSbNU9sSPub7QjsB76jQxyBxRFY\nHIHFEVgcgcVlEnjxR7nsTGAvZBL4utG/SP/LRT8Tgb2Q0bvo6AVl/8h6ZwJ7IbOPwUdqzrp60aJF\nWe1MYC9kFrj922fct2rVqqx2JrAXMgkcf/LMr7+f9c4E9kImgS+c8GIOOxPYC5kEvu9gLjsT2Avc\n6BBHYHEEFkdgcQQWR2BxBBZHYHEEFkdgcQQWR2BxBBZHYHEuAic6ege5SmAvWAc+tLJ0ZKRg4oq0\nHy8ksBesAy8pr4/1xBorqoMLBPaCdeCi1tRT55jgAoG9YB14am3qqW5acIHAXrAO3FwyubK6asrY\nbcEFAnvB/lV0PFq7uiaa/rMtBPYCh5GKC+Ew0rrylAmX5z4VnOFOljgOIxXHYaTiOIxUHIeRiuMw\nUnEcRiqOw0jF8XmwOAKLI7A4AosjsDgCiyOwOAKLI7A4AosjsDgCiyOwOAKLI7A4Ag8ttub2delf\n5/4/Q+Ah7f3Ki2+vm3sk32NYIvCQfvRy8uHHL+V7DEsEHtKS95IP6x/P9xiWCDykNc8kH75bn+8x\nLBF4SAdm/nzjAzfnewpbBB5az/qfRvM9gzUCiyOwOAKLI7A4AosjsDiOcBBnHXhem2mZPqJwzp7g\nAoG9YB04stssWHywe/n84AKBveAi8Dk7jWkvCi4Q2Av2gTfFKzYaUz8puEBgL1gHnjV+VHGZaSiu\nCS4Q2AsOXkV379psmhrTLhPYCyEcRtr1bsqtVblPBWdCOIx0Q2XKpLm5TwVnuJMljjtZ4riTJY47\nWeK4kyWOO1niuJMljjtZ4vg8WByBxRFYHIHFEVgcgcURWByBxRFYHIHFEVgcgcURWByBxRFYHIHF\nEVgcgcURWByBxRFYHIHFEVgcgcURWByBxRFYnIvAiY7eQa4S2AvWgQ+tLB0ZKZi4Iu2vCCOwF6wD\nLymvj/XEGiuqgwsE9oJ14KLW1FPnmOACgb1gHXhqbeqpblpwgcBesA7cXDK5srpqythtwQUCe8H+\nVXQ8Wru6JhpPu05gL4RwVuUxBPZCCGdVvlGTMufa3KeCMyHcydpRl3JNRW4TwSnOqhTHWZXiOKtS\nHGdViuOsSnGcVSmOsyrF8R0d4ggsjsDiCCyOwOIILI7A4ggsjsDiCCyOwOIILI7A4ggsjsDiCCyO\nwOIILI7A4ggsjsDiCCyOwOIILI7A4ggsjsDiCCyOIxzEcYSDOI5wEMcRDuI4wkHciTrCYev6N7Md\nDS6coCMcllavXVadyG40uHBiDiPd8GDy4eEXMh8LroRwGOn68pSSK/pXH34t+bDlwayng7Xw7mQ9\n92T/22ufST78/vHcN0OuHAXekvaXrgwIHJvx166/zWzPYi444ijwmA/TLh0f2LTdfeVdH2U+FZyx\nDnxaQZ/IiILgwoDAyBfrwNu/Vvlue/uZr6e9/yWwF+zfRR957Mt//sx30cgXFx+D35m9+AwCe8rJ\ni6zemgWxtIsE9sKJ+TwYeUNgcQQWR2Bx4QV+pfTi450amlEnh7Z1YWg7jzwltK2LB/y5l7aGFThg\ntrOdgp6oC23r8IZ+YEtYO++tyuZ3EzgkBM4cgQcgcBYInDkCD0DgzBF4gHwFnutsp6C1fwht6/CG\nfqgprJ3bb8rmd7sLnP49Pa7Ej4S2dXhDd4f3PcRZDe0uMLxEYHEEFkdgcQQWR2BxBBZHYHFOAl+1\n4+hz87TipYddbJi286xIJDLP5cavlp0641+pt1wP3b+z66ETPzj7lJlHf8w+86EdBI7eFjmaIV7y\nq5Y5K+03TN/ZjN+0e3ebw533nF63//vn973leuj+nZ0PHZ2wfV/1VX1vZTG0g8CP3HHq0QzRycb8\nvdR+w/Sdu0c5vlv57CXJTU/62Lgfun9n50P/uymx/6ElfW9lMbSTd9HjjmaorTQmNtLpPdhjO+8q\nrjh3YYvDfTv3GtPwpb5RXQ/dv7PzoZP/9UQ+v7vvOYuhXQZeXW1MT6TDxY6BnTeXvbRj8QyXG5vE\nC+Ne7Ht2P/T/dg5haHPo3tQXOLMY2mXgmqrkf1ef63WxY2DnPgdGuPz58tgNFzen3nA+9Kc793E6\n9Fvv9/1/2/e1pCyGdhn41SnGNE50sWFw56aG5Ie0wkHOy8xV10UPHfsA6Xro/p2dD/2TO4354OS+\n3bMY2l3g51viY58/cN0KFxsGd24sbojdM8fhvs+W7U46EsLQ/Ts7H7r5C1vbb6nK8k/aXeDTNpjm\nsrOWuv0S+rGdE0+Xjr4h7TRUC/dH+rSHMHT/zs6HNr8+v6iqPcs/ae5kiSOwOAKLI7A4AosjsDgC\niyOwOAKLI7A4AosjsDgCiyOwOAKLI7A4AosjsDgCiyOwuGEceNPJ243Ze9af8j1HuIZxYLN8Zq9Z\neEu+pwjZcA58qHTtS+McfmO6l4ZzYNNYPOHlfM8QtmEdOHHhueEdoueJYR245ryyn+V7hrAN58Dv\nFW1qOv2tfE8RsmEcOFF+uzF3zxB/Jz2MAz89rsOYAyWP5nuOcA3jwMMDgcURWByBxRFYHIHFEVgc\ngcURWByBxRFYHIHFEVgcgcURWByBxRFYHIHFEVjcfwEV87DC0H90IgAAAABJRU5ErkJggg==\n" } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }