Comments (6)
Original comment by Laurent Gautier (Bitbucket: lgautier, GitHub: lgautier).
The question is how.
How does rpy convert a LANGSXP into a pure python object ?
from rpy2.
Original comment by Anonymous.
It doesn't convert, it just leaves it as an R object. However, when rpy_classic runs across a LANGSXP it raises a Value Error:
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/rpy2/rpy_classic.py", line 160, in rpy2py_basic
raise ValueError("Invalid type %i (%s) for 'obj'." %(obj.typeof, ri.str_typeint(obj.typeof)))
ValueError: Invalid type 6 (LANGSXP) for 'obj'.
I think the problem is that LANGSXP objects have a length attribute, and so they aren't being passed to the res = Robj(obj) command, but instead are being passed to the conversion commands which don't know what to do with it.
from rpy2.
Original comment by Anonymous.
I tried the following modification of the rpy2py_basic function that seems to work (bold indicates my additions):
`
#!python
def rpy2py_basic(obj):
if hasattr(obj, 'len'):
if obj.typeof in [ri.INTSXP, ri.REALSXP, ri.CPLXSXP,
ri.LGLSXP, ri.STRSXP]:
res = [x for x in obj]
elif obj.typeof in [ri.VECSXP]:
res = [rpy2py(x) for x in obj]
elif obj.typeof in [ri.LANGSXP]:
res = Robj(obj)
else:
raise ValueError("Invalid type %i (%s) for 'obj'." %(obj.typeof, ri.str_typeint(obj.typeof)))
else:
res = Robj(obj)
return res
from rpy2.
Original comment by Laurent Gautier (Bitbucket: lgautier, GitHub: lgautier).
Bump!
from rpy2.
Original comment by Laurent Gautier (Bitbucket: lgautier, GitHub: lgautier).
The fix is now in the branch rpy2-2.1dev
from rpy2.
Original comment by Laurent Gautier (Bitbucket: lgautier, GitHub: lgautier).
Removing version: 2.1.0 (automated comment)
from rpy2.
Related Issues (20)
- Support `.rx[row, col]` indexing for matrices and data frames HOT 1
- Allow assigning to rownames, colnames and dimnames for sparse matrices HOT 3
- Installation regression from 3.5.12 to 3.5.13 in Rocky 8 Linux with R 4.3.1 HOT 4
- cannot load library
- problem installing on mac HOT 5
- rpy2 tests fail with Python 3.13 (in alpha now) HOT 2
- Issues Integrating Library Functions with Python via rpy2 HOT 2
- rpy2 cannot properly call the DataFrame object within the S4Vectors package. HOT 2
- Issue converting R data frame to Pandas data frame HOT 1
- rpy2 cannot resolve the correct on Mac M1 HOT 1
- BoolVector to array conversion behaves unexpectedly HOT 3
- Installation on linux platform HOT 1
- NotImplementedError: Conversion rules for `rpy2.robjects` appear to be missing. Those rules are in a Python contextvars.ContextVar. This could be caused by multithreading code not passing context to the thread. HOT 2
- Not an rpy2 R object and unable to map it to one: 'value' HOT 2
- PEP 517 builds rpy2 fails to install on Windows HOT 2
- Error in Colab, rmagic and pandas 2.x HOT 2
- can't install rpy2 3.5.16 on Ubuntu 22.04.3 LTS HOT 16
- Unable to install rpy2 in centos7/rhel7 with R4.4.0 HOT 1
- vector complex test failed on riscv64 HOT 5
- Cannot import packages HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rpy2.