This will not work for "anonymous" R objects, that R objects not having an associated symbol (e.g., x = rpy2.robjects.IntVector([1,2,3]) ).
For what it's worth, pickling of low-level objects (rpy2.rinterface) is working in the tip on bitbucket (that's the dev branch for 2.1). It is using serialize()/unserialize() with raw vectors. L. On Thu, 2009-04-30 at 03:09 +0200, Brandon Invergo wrote: > FWIW, the solution I have for now is to use dump(ls(), file="") to get a > deparsed string representation of all the objects in memory, which can > then be pickled. I'm not having problems with it right now in any simple > cases, but I can imagine there are situations where deparsing gets > hairy, so being able to pickle the R globalEnv or somehow being able to > route the file output of R's save.image command to a python object that > can then be pickled would be the best.... > Cheers, > -brandon invergo > > On Thu, 2009-04-30 at 01:01 +0200, Brandon Invergo wrote: > > I'm trying to do something similar: I'd like to create a save file that > > includes the current state of the R environment. I don't want to create > > a separate file for the R environment via one of R's built-in commands, > > so I thought I'd pickle globalEnv alongside some other objects I'm > > pickling. When I try to pickle the globalEnv, I get this error: > > cPickle.PicklingError: Can't pickle <type 'rinterface.SexpEnvironment'>: > > import of module rinterface failed > > > > > > How have other people gone about storing their R objects? > > > > Thanks! > > brandon invergo > > > > > > > > On Mon, 2009-04-06 at 11:29 -0400, Réjean Ducharme wrote: > > > Hi all, > > > > I'm using Rpy2 to train a logistic regressor (using the "glm" function > > in R), and I need to save the model for futher use. > > I naively try to use pickle, but I have an error message: > > > > import rpy2.robjects as robjects > > fit = robjects.r.glm(formula=f, family=robjects.r.binomial(), data=data) > > output = open('glm.pickle', 'w') > > pickle.dump(fit, output) > > > > >>> pickle.PicklingError: Can't pickle <type > > 'rinterface.SexpVector'>: > > it's not found as rinterface.SexpVector > > > > > > Is there another way to save a Rpy2 object??? > > > > Thanks, > > Rejean Ducharme > > > > > > ------------------------------------------------------------------------------ > > Register Now & Save for Velocity, the Web Performance & Operations > > Conference from O'Reilly Media. Velocity features a full day of > > expert-led, hands-on workshops and two days of sessions from industry > > leaders in dedicated Performance & Operations tracks. Use code vel09scf > > and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf > > _______________________________________________ > > rpy-list mailing list > > rpy-list@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/rpy-list > > > ------------------------------------------------------------------------------ > Register Now & Save for Velocity, the Web Performance & Operations > Conference from O'Reilly Media. Velocity features a full day of > expert-led, hands-on workshops and two days of sessions from industry > leaders in dedicated Performance & Operations tracks. Use code vel09scf > and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf > _______________________________________________ > rpy-list mailing list > rpy-list@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/rpy-list ------------------------------------------------------------------------------ Register Now & Save for Velocity, the Web Performance & Operations Conference from O'Reilly Media. Velocity features a full day of expert-led, hands-on workshops and two days of sessions from industry leaders in dedicated Performance & Operations tracks. Use code vel09scf and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf _______________________________________________ rpy-list mailing list rpy-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/rpy-list