2010-01-06 3 views
2

누군가 S-Plus에서 R을 호출하는 좋은 방법에 대한 제안이 있습니까? 이상적으로는 R에 코드를 전달하고 데이터를 통합하기 위해 너무 정교한 코드를 작성하지 않고 데이터를 가져오고 싶습니다.S-Plus에서 R에 전화 하시겠습니까?

나는 Omegahat의 RinS 패키지에 익숙하다고 덧붙여 야하지만 사용하지는 않았다. Insightful은 Tibco가 인수하기 전에 환경을 통합하기위한 노력을 기울였습니다.

편집 : Windows에서 RinS가 작동하지 않는 것으로 나타났습니다. 가장 쉬운 해결책은 Rscript를 사용하는 것이 었습니다. system() 명령으로 S-Plus에서 호출 할 수 있습니다.

#! Rscript --vanilla --default-packages=utils 
args <- commandArgs(TRUE) 
print(args) 
print(1:100) 
Sys.sleep(2) 
res <- "hello world" 
class(res) <- "try-error" 
if(inherits(res, "try-error")) q(status=1) else q() 

그리고 S-플러스에서 호출 :

다음
system("rscript c://test.rscript 'some text'") 

난 그냥 텍스트 파일에 결과를 저장하고 스크립트 후 S-플러스로 가져올 예를 들어, 다음은 간단한 스크립트입니다 실행됩니다.

+1

S-Plus 란 무엇입니까? 미안 해요, 저항 할 수 없었습니다 ... –

+0

아야 ... :) 그것은 인형 용 R입니다. – Shane

답변

5

RSPlus은 내가 알고있는 유일한 옵션입니다. 거의 1 년 동안 거의 매일 사용했지만 R 2.7 이후에는 사용하지 않았습니다. 당신의 질문에서 당신은 SPlus에서 R을 실행하기를 원하는 것처럼 보입니다. RSlus는 확실히 할 수 있습니다 (R은 몇 개의 SPlus 함수로 구성된 인터페이스를 통해 액세스 할 수있는 별도의 인터프리터이고, 가장 자주 사용되는 것은 '.R()'입니다) (예 : fivenum "1:10)

"RinS "는 RSPlus를 구성하는 두 개의 모듈 중 하나 (SpinR이 다른 모듈 임)이기 때문에 생각합니다. 즉, 원하는 방향 (R을 SPlus로, SPllus를 R으로)에 관계없이 단 하나의 인터페이스 만 있습니다. 당시로서는 나에게 분명하지 않았지만 RinS를 얻으려면 두 모듈을 모두 설치해야했습니다.