2010-01-06 3 views
2

Est-ce que quelqu'un a des suggestions pour un bon moyen d'appeler R à partir de S-Plus? Idéalement, je voudrais juste passer le code à R et récupérer les données sans avoir à écrire quoi que ce soit de trop élaboré pour les intégrer.Vous appelez R à partir de S-Plus?

Je dois ajouter que je suis familier avec le paquet RinS sur Omegahat, mais je ne l'ai pas utilisé. J'avais l'impression qu'Insightful avait fait un effort pour intégrer les environnements avant que Tibco ne prenne le relais.

Editer: Il s'avère que RinS ne fonctionne pas sous Windows. J'ai trouvé que la solution la plus simple était d'utiliser simplement Rscript. Je peux appeler cela depuis S-Plus avec la commande system(). Par exemple, voici un script simple:

#! 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() 

et de l'appeler de S-Plus:

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

Puis-je conserver simplement les résultats dans un fichier texte et l'importer dans S-Plus après le script est exécuté.

+1

Qu'est-ce que S-Plus? Désolé, n'a pas pu résister ... –

+0

Ouch ... :) C'est R pour les nuls. – Shane

Répondre

5

RSPlus est la seule option que je connaisse. Je l'ai utilisé presque tous les jours pendant environ un an, mais je ne l'ai pas utilisé depuis R 2.7. A partir de votre Q, il semble que vous vouliez juste exécuter R dans SPlus, ce que RSPlus peut certainement faire (R est un interpréteur séparé accessible via une interface composée de quelques fonctions SPlus, le plus souvent utilisé est '.R()' , par exemple, .R ("fivenum", 1:10)

Je pense que nous parlons de la même chose cependant, parce que 'RinS' est l'un des deux modules (SpinR étant l'autre) qui ensemble comprennent RSPlus (c'est-à-dire, il n'y a qu'une seule interface, quelle que soit la direction dans laquelle vous voulez aller - R vers SPlus, ou SPllus vers R.) Bien que cela ne m'était pas évident à l'époque, j'ai dû installer les deux modules pour obtenir RinS

Questions connexes