Skip to content Skip to sidebar Skip to footer

Passing A Python Variable To R Using Rpy2

I have basic R script that performs a GLM on a MySQL dataset. This runs fine using Rscript in bash. However I would like to call it within a python script so I can add it to a loop

Solution 1:

Use double quotes around the "%s" and single quotes around the robjects.r string:

robjects.r('results = fetch(dbSendQuery(mydb, "%s"))') % (sql_scores)

or use the format() method:

robjects.r('fetch(dbSendQuery(mydb, {0}))'.format(sql_scores))

Solution 2:

You can access variables in the R environment with robjects.globalenv['varname']. So an alternative way is:

robjects.globalenv['sql_scores'] = sql_scores
robjects.r("results = fetch(dbSendQuery(mydb, sql_scores))")

Post a Comment for "Passing A Python Variable To R Using Rpy2"