Python 通过rpy2传递列表作为参数
我在Python中使用R的函数。其中一个参数(“内核”)需要一个列表,我不确定在使用rpy2时如何传递它。R语法如下(使用“kernel”参数): 到目前为止,我的Python脚本(不使用“kernel”参数)如下所示:Python 通过rpy2传递列表作为参数,python,r,rpy2,Python,R,Rpy2,我在Python中使用R的函数。其中一个参数(“内核”)需要一个列表,我不确定在使用rpy2时如何传递它。R语法如下(使用“kernel”参数): 到目前为止,我的Python脚本(不使用“kernel”参数)如下所示: import numpy as np from rpy2.robjects.packages import importr importr('lmomco') SPEI = importr('SPEI') import rpy2.robjects.numpy2ri as n
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字典创建一个,然后将其传递到方法:
import rpy2.robjects as robjects
...
x = robjects.ListVector({'type': 'rectangular', 'shift': 0})
result = np.array(SPEI.spi(data, scale=10, distribution='Gamma', fit='max-lik', kernel=x)[1])
考虑从python字典创建一个,然后将其传递到方法:
import rpy2.robjects as robjects
...
x = robjects.ListVector({'type': 'rectangular', 'shift': 0})
result = np.array(SPEI.spi(data, scale=10, distribution='Gamma', fit='max-lik', kernel=x)[1])