Các mã sau đây được cho là để tạo ra một bản đồ nhiệt trong rpy2Chuyển đổi đối tượng python cho rpy2
import numpy as np
from rpy2.robjects import r
data = np.random.random((10,10))
r.heatmap(data)
Tuy nhiên, nó kết quả trong các lỗi sau
Traceback (most recent call last):
File "z.py", line 8, in <module>
labRow=rowNames, labCol=colNames)
File "C:\Python25\lib\site-packages\rpy2\robjects\__init__.py", line 418, in __call__
new_args = [conversion.py2ri(a) for a in args]
File "C:\Python25\lib\site-packages\rpy2\robjects\__init__.py", line 93, in default_py2ri
raise(ValueError("Nothing can be done for the type %s at the moment." %(type(o))))
ValueError: Nothing can be done for the type <type 'numpy.ndarray'> at the moment.
Từ các tài liệu tôi học r.heatmap rằng mong đợi "một ma trận số". Làm cách nào để chuyển đổi np.array thành kiểu dữ liệu được yêu cầu?
tôi là một chút không chắc chắn về cách "kích hoạt rõ ràng" chuyển đổi như được đề cập trong chỉnh sửa @lgautier. Tôi đang gặp phải một vấn đề tương tự mà làm việc trong một phiên bản cũ của rpy2 nhưng có vẻ bị hỏng trong rpy2 2.2.2. Bạn có thể cung cấp một ví dụ ngắn gọn không? – mishaF
Đối với người đọc trong tương lai: thêm 'rpy2.robjects.activate()' sau khi nhập. Họ có vấn đề với việc nhập khẩu có tác dụng phụ. – agf
@agf: Cảm ơn, agf. – unutbu