2017-09-23 21 views
0

나는 R 함수를 파이썬에서 호출하려고하지만 어떤 이유로 나는 차라리 예를 들어 RPython : RRuntimeError : (함수 (데이터 = 없음, dim = 길이 (데이터), dimnames = NULL) 오류 : '희미한'길이가 0이 될 수 없습니다

에 매트릭스 (Dataframe)보다 R에 숫자를 변환하고 RRuntimeError을 얻고, 아직 모른다, 출력 그리고 다음의 간단한 예를

import rpy2.robjects as robjects, pandas as pd, numpy as np 
from rpy2.robjects import r 
from rpy2.robjects.numpy2ri import numpy2ri 
from rpy2.robjects.packages import importr 

df= pd.DataFrame(np.random.random((108, 2)), columns=['Number1','Number2']) 
p = 3 

resi1=np.array(df, dtype=float) 
p1=np.array(p, dtype=float) 

r_resi = numpy2ri(resi1) 
r_p1= numpy2ri(p1) 

을 고려 is

--------------------------------------------------------------------------- 
RRuntimeError        Traceback (most recent call last) 
<ipython-input-1-7970a0b7c100> in <module>() 
    11 
    12 r_resi = numpy2ri(resi1) 
---> 13 r_p1= numpy2ri(p1) 

D:\Anaconda3\lib\site-packages\rpy2\robjects\numpy2ri.py in numpy2ri(o) 
    80   #FIXME: no dimnames ? 
    81   #FIXME: optimize what is below needed/possible ? (other ways to create R arrays ?) 
---> 82   res = rinterface.baseenv['array'](vec, dim=dim) 
    83  # R does not support unsigned types: 
    84  elif o.dtype.kind == 

"u": 

RRuntimeError: Error in (function (data = NA, dim = length(data), dimnames = NULL) : 
    'dims' cannot be of length 0 

나는 여기서 무엇이 잘못 될지 잘 모르겠다.

답변

0

변환기 numpy 배열 -> R 배열 필요는 배열의 차원이 필요합니다. 여기에 아무 것도 없습니다 :

>>> p1 
array(3.0) 
>>> p1.shape 
()