reyman wrote:
> Hello,
> I have problem with last version of R and rpy classic, so i try to
> convert my source code into rpy2, but i have problem to understand with
> calling function into a function
>
> Exemple with my db connection :
> *
> /With rpy classic, it's ok : /*
>
> rpy.set_default_mode(rpy.NO_CONVERSION)
> r('conn <- dbConnect(PgSQL(), host="localhost", dbname="simpop",
> user="postgres", password="postgres")')
> *
> /With rpy2, error :/*
>
The *same* with rpy2 would then be:
import rpy2.robjects as robjects
robjects.r('conn <- dbConnect(PgSQL(), host="localhost",
dbname="simpop", user="postgres", password="postgres")')
> import rpy2.robjects as robjects
> import sys
> import math
>
> r = robjects.r
>
> r.library("Rdbi")
> r.library("RdbiPgSQL")
> r.library("ggplot2")
(note: You may want to already check the graphics (and ggplot2) niceties
in rpy2-2.1-dev (a snapshot of the doc in online).)
> #Connect to DB with RPY2
> rconn = r.dbConnect
> bdobj = r.PgSQL
>
> print bdobj
>
> conn = rconn( bdobj, host="localhost", dbname="simpop", user="postgres",
> password="postgres")
> *
> /At execution : /*
>
> function ()
> {
> out <- list(description = "PostgreSQL object")
> class(out) <- c("PgSQL", "Rdbi")
> return(out)
> }
> <environment: namespace:RdbiPgSQL>
> Error in dbConnect.default(function () : Invalid database class
> Traceback (most recent call last):
> File "s_ranktail_resume_rpy2.py", line 19, in <module>
> conn = rconn( bdobj, host="localhost", dbname="simpop",
> user="postgres", password="postgres")
> File "/usr/lib/python2.5/site-packages/rpy2/robjects/__init__.py",
> line 422, in __call__
> res = super(RFunction, self).__call__(*new_args, **new_kwargs)
> rinterface.RRuntimeError: Error in dbConnect.default(function () :
> Invalid database class
>
> I don't understand where is the problem ?
I think that the problem is what the error message tells: you are
feeding rconn() with an invalid database class, and that invalid class
happen to be a function. You are most certainly passing dbobj while you
should be passing dbobj().
L.
>
> Thx a lot with a newbie on python/R/Rpy2
> Seb
>
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Enter the BlackBerry Developer Challenge
> This is your chance to win up to $100,000 in prizes! For a limited time,
> vendors submitting new applications to BlackBerry App World(TM) will have
> the opportunity to enter the BlackBerry Developer Challenge. See full prize
> details at: http://p.sf.net/sfu/blackberry
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> rpy-list mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/rpy-list
------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize
details at: http://p.sf.net/sfu/blackberry
_______________________________________________
rpy-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rpy-list