मैं "एक मैट्रिक्स को R मैट्रिक्स में बदलना चाहता हूं। मुझे पता है कि आपको यह करना है:
from rpy2 import robjects as ro
ro.conversion.py2ri = ro.numpy2ri
ro.numpy2ri.activate()
और फिर एक आर मैट्रिक्स बनाएँ:
mat_r = ro.r.matrix(mat_py)
लेकिन समस्या यह है कि जब भी मैं अजगर में नए मैट्रिक्स का उल्लेख करता हूं तो यह वापस एक मैट्रिक्स के रूप में परिवर्तित हो जाता है। उदाहरण के लिए, मुझे पंक्ति और स्तंभ नाम सेट करने की आवश्यकता है, लेकिन ऐसा करने से परिणाम इस प्रकार हैं:
mat_r.rownames = numpy.array([1,2,3])
AttributeError: "numpy.ndarray" object has no attribute "rownames"
किसी को भी पता है कि मैं एक आर मैट्रिक्स के रूप में अपने चमकदार नए आर मैट्रिक्स को कैसे रख सकता हूं, और स्टॉप फिर से एक ndarray बन रहा है?
उत्तर:
उत्तर № 1 के लिए 1एक तरीका हो सकता है
ro.numpy2ri.deactivate()
रूपांतरण को स्पष्ट रूप से भी कहा जा सकता है (रूपांतरण जेनरिक मॉड्यूल में हैं, यहां numpy2ri
)।