以下代码应该在rpy2中创建热图
import numpy as np
from rpy2.robjects import r
data = np.random.random((10,10))
r.heatmap(data)
Run Code Online (Sandbox Code Playgroud)
但是,它会导致以下错误
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.
Run Code Online (Sandbox Code Playgroud)
从文档中我了解到r.heatmap需要"一个数字矩阵".如何将np.array转换为所需的数据类型?
我正在尝试从python jupyter notebook 实现R包TSdist.
import rpy2.robjects.numpy2ri
from rpy2.robjects.packages import importr
rpy2.robjects.numpy2ri.activate()
R = rpy2.robjects.r
## load in package
TSdist = importr('TSdist')
## t,c are two series
dist = TSdist.ERPDistance(t.values,c.values,g=0,sigma =30)
## dist is a R Boolean vector with one value
dist[0]
Run Code Online (Sandbox Code Playgroud)
这给了我一个NA,我得到了一个警告:
/usr/lib64/python3.4/site-packages/rpy2/rinterface/ init .py:186:RRuntimeWarning:错误:该系列必须是单变量向量
warnings.warn(x,RRuntimeWarning)
有关如何正确实施它的任何想法?或者如何使用离散傅立叶变换(DFT),自回归系数,编辑实际序列上的距离(EDR)来测量与python包的时间序列相似性.在上述方法这个文件.
我想计算数据帧中的动态时间扭曲(DTW)距离.结果必须是新的数据帧(距离矩阵),其包括每行之间的成对dtw距离.
对于欧几里德距离,我使用以下代码:
from scipy.spatial.distance import pdist, squareform
euclidean_dist = squareform(pdist(sample_dataframe,'euclidean'))
Run Code Online (Sandbox Code Playgroud)
我需要一个类似的DTW代码.
提前致谢.