我在Python中使用R的spi函数。其中一个参数(“kernel”)需要一个列表,我不知道在使用rpy2时如何传递它。R语法如下(带有的“kernel”参数):
library("lmomco", lib.loc="~/lib/R_libs")
library("SPEI", lib.loc="~/lib/R_libs")
data = read.csv("rainfall_data.csv", header = FALSE)
result = spi(data, scale=10, distribution='Gamma', fit='max-lik', kernel = list(type='rectangular', shift=0))
到目前为止,我的Python脚本(没有使用“kernel”参数)如下所示:
import numpy as np
from rpy2.robjects.packages import importr
importr('lmomco')
SPEI = importr('SPEI')
import rpy2.robjects.numpy2ri as numpy2ri
numpy2ri.activate()
data = np.genfromtxt('rainfall_data.csv', delimiter=',')
result = np.array(SPEI.spi(data, scale=10, distribution='Gamma', fit='max-lik')[1])
如何将内核作为rpy2的列表传递?你知道吗
考虑从python字典创建ListVector,然后将其传递到方法中:
相关问题 更多 >
编程相关推荐