Llamando código R

La biblioteca rpy2 nos permite de manera muy simple, poder llamar a nuestras funciones escritas en R.

In [1]:
from rpy2.robjects.packages import importr

base = importr('base')
stats = importr('stats')
graphics = importr('graphics')

plot = graphics.plot
rnorm = stats.rnorm
plot(rnorm(100), ylab="random")
Out[1]:
rpy2.rinterface.NULL
In [2]:
import rpy2.robjects as robjects

r = robjects.r

# codigo R
r('''
        f <- function(r, verbose=FALSE) {
            if (verbose) {
                cat("I am calling f().\n")
            }
            2 * pi * r
        }
        f(3)
        ''')

# Tambien podria importar una funcion r desde un modulo

r_f = r['f']
In [3]:
res = r_f(5)
print(res)
[1] 31.41593

In [4]:
import numpy as np
import rpy2.robjects.numpy2ri
rpy2.robjects.numpy2ri.activate()

data = np.random.random((10,10))
result = r.heatmap(data)
print(result)
$rowInd
 [1]  5  9  2  7 10  6  4  3  8  1

$colInd
 [1]  9  5  6  2  3 10  4  7  8  1

$Rowv
NULL

$Colv
NULL


In [5]:
#Este css es trabajo de @LorenaABarba y su grupo
from IPython.core.display import HTML
css_file = '../css/personal.css'
HTML(open(css_file, "r").read())
Out[5]: