2013-08-12 2 views
1

데이터 분석을 위해 파이썬으로 rpy2부터 시작합니다. I는 Z = [1,2,3] 상기 코드 STR 용 (Z 같은 Z에 대한리스트를 전달할 때rpy2의 R 함수에 인자로 파이썬리스트 전달하기

value=robjects.r(''' 
f<-function(z){ 
# process and return something 
} 
f('''+str(z)+''') 
''') 

:하지만 I 같이 RPY2에 R의 함수 (Z = 2.534와 같은) 간단한 파이썬 변수를 전달할 수)가 작동하지 않고 str (z)에 대해 수동으로 '[1,2,3]'을 전달하면 함수 f가 문자 데이터를 R의 목록으로 사용할 수 없게됩니다.

평균을 찾아야합니다. [1,2,3]과 같은 목록에있는 항목 중 어떻게 할 수 있습니까?

답변

0

다음과 같이 시도해보십시오. FloatVector와 StrVector도 있습니다. evaluating R code

res = robjects.IntVector([1, 2, 3]) 
+0

문제는 'STR (Z)'대신에 작성하는 것입니다. 그 자리에'res'가 전달되면 오류가 TypeError로 발생합니다. z = [1,2,3] res = robjects.IntVector (z) 인 경우 'str'및 'IntVector'objects ' – Tisal

+0

을 연결할 수 없습니다. 어쩌면 내가 무슨 뜻인지 이해하지 못할 수도 있습니다. – Jiminion

+0

print (z)로 z를 인쇄 할 수 있지만 str()이 robjects에서 작동하지 않는 것처럼 보입니다. 나는 그것이 당신의 염려라고 생각합니다, 그렇죠? – Jiminion

1

문서 는 제안 :

f = robjects.r(''' 
f<-function(z){ 
    # process and return something 
}''') 

value = f(z)