Comment créer une application à l'aide des fonctions R<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut à tous,
Je serais très reconnaissant pour toute aide, car je suis nouveau à JMP, je me bats un peu!
J'aimerais créer un outil (serait-ce un ajout?) Dans JMP (qui pourrait ensuite être utilisé par d'autres personnes avec lesquelles j'ai besoin de travailler) à partir de fonctions que j'ai écrites dans R-code.
Est-ce possible? J'ai lu que c'était, mais je ne savais même pas par où commencer.
J'ai besoin de cet outil pour demander à l'utilisateur de mettre 3 chemins de fichiers et de laisser les fonctions-R les utiliser.
Merci de votre aide
Re: Comment créer une application en utilisant les fonctions REn fin de compte, j'ai utilisé le constructeur Add-in (fin de la page 14 du bulletin d'informations de JMPer Cable), qui semble avoir très bien fonctionné et était très facile à utiliser!
Re: Comment créer une application en utilisant les fonctions RIl se pourrait bien que pour le moment je n’ai que la version d’essai de JMP 10 ...
Je vais avoir la vraie chose à la fin de la semaine prochaine, alors je vais essayer à nouveau alors.
Re: Comment créer une application en utilisant les fonctions RJe suis coincé à l'étape 3, rien ne semble se passer ...
Je dois faire quelque chose de mal
J'ai ouvert un nouveau script et tapé
registerAddin (
"com.myCompany.myAddin",
"C: / Users /.../ Desktop / myAddinFolder"
)
et quand je le lance rien ne se passe,
Je suppose que quelque chose est supposé se passer pour que je puisse ensuite passer à l'étape 4?
Merci beaucoup pour ton aide
Re: Comment créer une application en utilisant les fonctions RPage 14 de la récente couverture de câbles JMPer faisant des compléments
http://jmp.com/about/newsletters/jmpercable/pdf/27_winter_2011.pdf
Je pense que les instructions contenues dans le câble sont peut-être un peu meilleures que celles que je pourrais imaginer. Je les ai suivis à la lettre pour créer des compléments que tout membre de mon entreprise peut installer sans avoir à mapper des lecteurs.
Une des choses que je fais en plus des instructions du Câble est qu’une fois que j’ai enregistré le complément et que je personnalise mon menu / barres d’outils, je clique sur le bouton 'Changer' en haut et sélectionne le complément que je suis en train de créer un menu / barre d'outils pour et il enregistre la personnalisation dans le dossier de travail.
J'espère que cela t'aides.
Re: Comment créer une application en utilisant les fonctions RJ'ai des choses qui fonctionnent, pas exactement ce que je veux pour l'instant, mais un premier projet décent quand même.
Pensez-vous que vous pourriez me montrer comment créer un outil à partir du script ("le bouton de la barre d'outils")?
Merci!
Re: Comment créer une application en utilisant les fonctions ROui, ça marche parfaitement. Merci!
Re: Comment créer une application en utilisant les fonctions RSi Noms = {{"t1", "t2"}}; essayez Names [1] - la liste devrait être imbriquée dans la liste.
Re: Comment créer une application en utilisant les fonctions ROk, donc le problème semble être que dans mon script, il y a deux "{" au lieu d'un seul ...
Je viens de tester Names = {"t1", "t2"} et Names = {{"t1", "t2"}}
Je vais donc devoir essayer de trouver un moyen de résoudre ce problème.
Désolé!
Re: Comment créer une application en utilisant les fonctions RCela fonctionne parfaitement avec Names = {"test1", "test2", "test3"};
Mais lorsque je survole Noms dans mon script, cela me montre:
Des noms
{{"V1", "V2",
...............
J'ai compris que cela signifiait qu'il contenait la liste, et Tests est une liste dans R (j'ai même ajouté la ligne Tests <-as.list (Tests) pour en être sûr).
Est-ce peut-être qu'il y a trop d'articles? Bien que j'aie mis des paramètres pour agrandir la fenêtre, cela ne semblait pas faire de différence.
En dehors de ça, je ne sais vraiment pas ce que je fais de mal, cela fait des heures que je suis là ...
Re: Comment créer une application en utilisant les fonctions RÊtes-vous sûr que Names contient une liste?
Essayez de remplacer la première ligne de code par Names = {"test1", "test2", "test3"};
Cela vérifiera que la partie JSL fonctionne comme vous le souhaitez, puis vous pourrez regarder ce qui revient de la fonction RGet.
Re: Comment créer une application en utilisant les fonctions RMerci Dave!
J'ai finalement décidé de choisir List Box, car cela correspond mieux à mes besoins.
Donc j'ai maintenant ceci:
Noms = R Get (Tests);
nw = Nouvelle fenêtre ("Test", << Modal,
Zone de liste V (
Case à cocher (Noms, << Obtenir la sélection),
Zone de liste H (
Zone de boutons ("Ok", tname = Noms << récupérer le texte; annuler = -1;),
Boîte à boutons ("Annuler", annuler = 1;)
)
)
)
si (annuler! = - 1, Arrêter (););
Mais pour une raison quelconque, dans ma fenêtre, je n'ai que le premier élément de la liste "Noms" - des idées sur la raison pour laquelle? J'ai vérifié les noms et il contient tous les trente quelque chose que j'ai mis dedans donc je ne comprends vraiment pas pourquoi cela se produit ...
Re: Comment créer une application en utilisant les fonctions Rla fonction Zone de liste V reçoit une ou plusieurs zones d’affichage séparées par des virgules. Donc, sur la ligne Check Box, remplacez le point-virgule (;) par une virgule (,).
-Dave
Re: Comment créer une application en utilisant les fonctions RMerci,
C'est très bien fait et très utile!
Cependant, j'ai un problème et je n'arrive pas à trouver la réponse nulle part.
J'ai une liste de noms et j'aimerais créer une nouvelle fenêtre dans laquelle l'utilisateur peut choisir un nom.
J'ai essayé ceci:
Noms = R Get (Tests);
nw = Nouvelle fenêtre ("Test", << Modal,
Zone de liste V (
Case à cocher (noms);
Zone de liste H (
Zone de boutons ("Ok", tname = Noms << récupérer le texte; annuler = -1;),
Boîte à boutons ("Annuler", annuler = 1;)
)
)
)
si (annuler! = - 1, Arrêter (););
Je sais que je dois faire quelque chose de mal ici mais je n'arrive pas à comprendre quoi ...
Je m'attendais à voir une fenêtre avec une liste de cases à cocher, puis "Ok" et "Annuler" en dessous, mais tout ce que j'ai est "Ok" et "Annuler".
Je serais extrêmement reconnaissant pour toute aide.
Re: Comment créer une application en utilisant les fonctions RVous pourriez trouver des trucs utiles ici
http://www.pega-analytics.co.uk/learning-zone/jmp-r-integration/
Re: Comment créer une application en utilisant les fonctions ROups! mewing@eastman.com
Re: Comment créer une application en utilisant les fonctions RIl apparaît comme ...
Le mien est là-bas si vous m'envoyez un e-mail vierge, je peux vous envoyer le code
Re: Comment créer une application en utilisant les fonctions RAbsolument, si vous survolez mon nom, vous devriez voir mon adresse e-mail.
Re: Comment créer une application en utilisant les fonctions RMerci, je commence à avoir l'idée
Mon script R est composé de 3 fonctions,
-read_table (fichier, n)
-Table du résumé (fichier1, fichier2, fichier3, n)
-Test_tables (fichier1, fichier2, fichier3, n, t)
Je vois maintenant comment obtenir n et t mais comment obtenir les différents fichiers (les fichiers étant ceux que l'utilisateur a choisis au préalable, j'ai utilisé path = Pick File ("Quel fichier voulez-vous?"); Comme vous l'avez suggéré) ?
Puis-je vous envoyer le script R par courrier électronique afin que vous puissiez avoir une meilleure idée de ce que j'essaie de faire?
Re: Comment créer une application en utilisant les fonctions RVos questions ne sont pas ridicules, tout le monde était nouveau une fois (à l'exception des personnes qui l'ont inventé).
Disons que vous avez écrit une fonction dans R comme suit:
r6 <- 0
k <- 6
for(i in 1:100000){
x <- rnorm(k+1)
m.i <- 1
for(j in 2:(k+1)){
if(m.i==1&x>x[j-1]){m.i <- 1}else{m.i <- 0}
}
m.d <- 1
for(j in 2:(k+1)){
if(m.d==1&x
}
r6 <- r6+m.i+m.d
}
perc.ooc <- r6/100000*100
Ceci est juste un script qui estime la probabilité d'obtenir six points d'affilée, tous croissants ou décroissants par rapport à une distribution normale aléatoire (0,1) (cela concerne certaines choses que je fais maintenant, c'est pourquoi je les utilise) . Disons que je voulais permettre à un utilisateur de modifier la valeur "k" de cette règle de 6 à quelque chose de leur choix. Je peux aborder cette question de plusieurs manières, mais je vais en montrer une qui utilise tous les outils ci-dessus.
Tout d'abord, j'ai une fenêtre de dialogue qui invite l'utilisateur pour la valeur:
nw = New Window("Value for k?",<
kval = k << Get();
Maintenant, j'envoie cette valeur à R:
rconn << Send(kval,R Name("k");
Maintenant, dans ma session R (qui est invisible pour l'utilisateur), il y a une variable appelée "k" avec la valeur spécifiée par l'utilisateur dans la boîte de dialogue.
Maintenant je veux lancer mon code:
rconn << Submit("
r6 <- 0
for(i in 1:100000){
x <- rnorm(k+1)
m.i <- 1
for(j in 2:(k+1)){
if(m.i==1&x>x[j-1]){m.i <- 1}else{m.i <- 0}
}
m.d <- 1
for(j in 2:(k+1)){
if(m.d==1&x
}
r6 <- r6+m.i+m.d
}
perc.ooc <- r6/100000*100
");
Remarque, j'ai supprimé k <- 6 de mon code, car j'ai déjà envoyé cette information à R. Maintenant, la dernière étape est que je veux obtenir le pourcentage incontrôlable, ainsi:
percentOOC = R Get(perc.ooc);
Je peux maintenant afficher cette information dans une nouvelle fenêtre:
nw = New Window("Results",Show Menu(0),Show Toolbars(0),Text Box("Percent out of control is " || Char(percentOOC) || "%"));
Maintenant, tout cela est stocké dans le fichier de script JSL, il n'est donc pas nécessaire qu'une fenêtre de script R soit ouverte.
Si vous rencontrez toujours des problèmes, pouvez-vous publier le script R (ici ou avec moi, je peux vous aider à le monter)?
Pour ce qui est de l'ajouter en tant que bouton, c'est assez facile, mais je vais vous expliquer comment faire cela après que votre script fonctionne.
Re: Comment créer une application en utilisant les fonctions RMerci de votre aide!
Cependant, j'ai encore quelques problèmes, comme je l'ai dit, je suis vraiment nouveau dans ce domaine, alors il se peut qu'il y ait une chose simple qui me manque ...
Si j'utilise ceci:
rconn << Submit ("name.in.R <-" || Char (JMPvariable));
rconn << Submit ("
sortie <- fonction R. (nom.in.R)
sapply (sortie, moyenne)
");
Est-ce que "name.in.R" est le nom de la fonction que j'ai écrite en R? Si tel est le cas, cela signifie-t-il que chaque fois que je souhaite utiliser cet outil dans JMP, une fenêtre de script R devra également être ouverte avec le script de la fonction?
Ou dans cet espace, devrais-je pouvoir écrire toute ma fonction (par cela, je veux dire le script complet de la fonction)? Cela ne semble pas fonctionner pour moi ...
Et une fois ce script écrit dans JMP, pourrai-je ajouter une icône à la barre d’outils pour que tout ce qu’il y ait à faire est de cliquer et d’entrer dans les fichiers pour voir les graphiques et les tableaux?
Merci beaucoup pour votre aide et désolé encore si mes questions sont ridicules.
Re: Comment créer une application en utilisant les fonctions R C'est assez facile à faire. La première chose à faire est de créer une sorte d’interface graphique dans JMP permettant à l’utilisateur de saisir les 3 chemins de fichiers. Cela peut être fait de plusieurs manières:
dir = Pick Directory("Where is the file stored?");
Ceci présentera à l'utilisateur un navigateur de répertoires pour sélectionner le répertoire dans lequel un fichier avec un nom cohérent sera stocké.
OU
path = Pick File("Which file do you want?");
Cela présentera à l'utilisateur un navigateur de fichiers pour sélectionner un fichier spécifique.
Ensuite, vous devez établir une connexion R.
rconn = R Connect();
Maintenant, vous avez deux façons de transmettre des informations à R, le premier est
rconn << Send(JMPvariable,R Name("name.in.R"));
OU
rconn << Submit("name.in.R <- " || Char(JMPvariable));
rconn << Submit("
output <- R.function(name.in.R)
sapply(output,mean)
");
Le premier moyen envoie simplement une variable et l’initialise en R. Le deuxième moyen vous permet de soumettre le code R que vous voulez (incluez les fonctions que vous avez écrites).
Pour faire sortir les choses de R
JMPvariable = R Get(name.in.R);
Quelques points à noter - il faut un peu plus de temps à JMP pour envoyer du code à R - ce qui peut prendre une seconde en R pour s'exécuter prendra plusieurs fois plus longtemps lorsque vous exécutez un script JSL. La bonne chose cependant est que vous pouvez utiliser JMP pour créer de superbes sorties que R ne pouvait tout simplement pas faire.
Si vous avez des questions complémentaires, s'il vous plaît demander, je vais m'abonner au fil.