JMP trouver RBonjour à tous,
Très bien une novice-question ici. J'aime utiliser JMP et j'ai des données dans R que j'aimerais importer dans JMP. J'essaie d'utiliser l'interface JMP-to-R (script pour la première fois dans JMP) et je ne sais pas vraiment ce que je fais. Cependant, lorsque j'exécute le script JSL suivant, rien ne se passe ;
test1 = Get R(test1);
Je suis sûr qu'il y a beaucoup plus que cela, mais je ne sais vraiment pas comment procéder. Si vous avez des suggestions sur la manière dont je commence à extraire des données de R dans JMP, j'aimerais beaucoup les entendre ! Je suis sur un PC qui vient d'être mis à niveau vers Windows 10, donc quelque chose que je pensais (mais je ne sais pas si c'est ça) est que JMP ne peut pas trouver l'emplacement de mon installation R. Encore une fois, c'est ma première aventure dans les scripts JSL, donc c'est probablement une question de débutant, mais je ne suis pas vraiment sûr de ce que je fais ici. Merci!
Re : JMP trouve RJ'ai parlé à l'assistance JMP à ce sujet ; malheureusement, un utilisateur n'est pas en mesure d'extraire une trame de données de R dans JMP comme je le demandais. Depuis l'assistance JMP :
JMP does not interact with R in this manner. When JMP initializes R, it starts a new session (environment). That session is completely isolated from R meaning, if you were to start a new R session, JMP would not recognize any of the environment variables (global or local). This is why your R data frame is unknown to JMP.
Il existe plusieurs façons d'extraire des données de R dans JMP, mais elles nécessitent toutes essentiellement que la trame de données dans R soit "créée" en exécutant un script via la boîte de dialogue JMP Scripting. J'ai fait l'option n ° 3 (demander à R d'écrire la trame de données dans un fichier csv, puis d'ouvrir le fichier csv avec JMP), mais l'option n ° 2 est intrigante. Lorsque j'ai essayé, cela, malheureusement, j'ai manqué de mémoire sur mon ordinateur, donc ce n'est peut-être pas une option viable pour les trames de données extrêmement volumineuses. Voici les suggestions du support JMP :
1. Use JMP's R Submit () to create the data frame. The use R Submit () and R Get () to bring the data frame into JMP. This is probably the mostly commonly used approach.
2. Use JMP's R Submit () to load the data frame via R and bring it back to JMP.
3. Lastly, you can also save the data frame from R as a CSV and open it in JMP using JSL's open function.
Re : JMP trouve RVeuillez publier leur réponse ici. Nouveau territoire!
Re : JMP trouve RMerci d'avoir essayé ça de votre côté, Mark ! Je vais contacter le support technique pour voir ce qu'ils ont à dire à ce sujet.
Re : JMP trouve RJ'ai juste essayé d'utiliser une connexion mais cela n'a pas fonctionné mieux.
Je n'ai jamais rencontré cette situation auparavant. J'ai toujours envoyé ce dont j'avais besoin à R, exécuté des scripts R, renvoyé ce que je voulais et continué dans JMP.
Je ne suis pas convaincu que ce ne soit pas possible. Je vous recommande de contacter le support technique de JMP (support@jmp.com) et de leur demander de l'aide.
Re : JMP trouve RHmm, peut-être que ce que je voulais faire ne fonctionnera pas dans ce cas ?
J'avais un data.frame qui était déjà dans l'environnement global R (moi/d'autres personnes avaient travaillé dessus dans R), et je voulais l'insérer dans JMP. Cependant, d'après ma compréhension de notre conversation, j'aurais besoin d'exécuter l'intégralité du script R dans la boîte de dialogue JMP Script pour que JMP "voit" le data.frame. Est-ce correct?
Ou peut-être qu'il y a une autre étape que j'ai ratée ici. Si j'ai déjà créé un data.frame dans R (et qu'il est maintenant dans l'environnement global R'), il n'est toujours pas visible pour JMP. Mais peut-il devenir visible pour JMP ? Dans R, j'ai exécuté la commande suivante :
test1 <- data.frame("x"=c(1,2,3,4),"y"=c(5,6,7,8))Alors maintenant, "test1" est dans l'environnement global R. Mais pour une raison quelconque, JMP ne peut toujours pas le "voir" ? Peut-être que je peux faire quelque chose pour rendre ce data.frame visible pour JMP sans avoir à réexécuter le script R via la boîte de dialogue JMP Script ?
Re : JMP trouve RComment créez-vous la trame de données dans R ? Pourquoi pensez-vous qu'il existe dans R lorsque JMP s'y connecte ?
Re : JMP trouve ROui, je pense que vous devez soumettre le code R pour rendre la trame de données active dans la session lors de la connexion avec JMP. Cet exemple crée un bloc de données "à partir de zéro" et le stocke dans la variable d. L'appel R Get() peut le demander car il existe maintenant dans l'espace de travail R. Vous pouvez également ouvrir un fichier ou obtenir un bloc de données à la suite d'une modélisation dans d'autres cas, par exemple. Le bloc de données n'existe pas dans R à moins que vous ne soumettiez du code pour le rendre d'une manière ou d'une autre.
Names Default to Here( 1 );
R Init();
R Submit(
"L3 <- LETTERS[1:3]
d <- data.frame(cbind(x=1, y=1:15), Group=sample(L3, 15, repl=TRUE))"
);
dt = R Get( d ) << New Data View;
R Term();Re : JMP trouve RHmm, peut-être que mon data.frame dans R n'est pas accessible à JMP ? Je ne sais pas pourquoi, cependant. Lorsque j'ai exécuté un exemple de script à partir de JMP, il a pu accéder à une trame de données.
R Init();
R Submit(
"
L3 <- LETTERS[1:3]
d <- data.frame(cbind(x=1, y=1:15), Group=sample(L3, 15, repl=TRUE))
"
);
R Get( d ) << NewDataView;
R Term();
Lorsque je crée une trame de données dans R, cependant, il semble que JMP ne puisse pas y accéder. Mon script R est le suivant :
test1 <- data.frame("x"=c(1,2,3,4),"y"=c(5,6,7,8))
Le data.frame résultant est stocké dans le R "Global Environment", mais lorsque j'essaie d'y accéder avec R Get(test1), il ne semble pas le reconnaître.
Re : JMP trouve RVous devrez peut-être exécuter un script R pour vous assurer que le bloc de données est disponible lorsque vous appelez R Get(). L'exemple de code pour R Get() ouvre une table de données JMP appelée Big Class, l'envoie à R, puis la renvoie à JMP. L'envoyer à R en a fait une trame de données active. Que faites-vous pour rendre la trame de données active dans R ?
Voici un autre exemple qui pourrait vous aider, où un script R est exécuté à partir de JMP.
Names Default To Here( 1 );
R Init();
R Submit(
"x <- rnorm(1000)
hx <- hist(x, breaks=100, plot=FALSE)
plot(hx, col=ifelse(abs(hx$breaks) < 1.669, 4, 2))
x <- rnorm (100)
y <- x**2 + rnorm (100)
summary(y)"
);
Wait( 3 );
R Term();
Vous aurez peut-être besoin de quelque chose comme cet exemple pour vous assurer que la trame de données R est disponible.
Re : JMP trouve RVoici un court exemple de l'Aide > Index des scripts qui pourrait vous aider à démarrer :
Names Default to Here( 1 );
R Init();
x1 = [1, 2, 3];
R Send( x1 );
x2 = R Get( x1 );
Show( x1, x2 );
R Term();
Je t'ai peut-être mis dans la mauvaise direction avec R Connect() .
Re : JMP trouve RQu'avez-vous stocké dans la variable nommée test1 ?
Re : JMP trouve RMerci pour vos suggestions, Mark & Jim. J'ai jeté un coup d'œil au Guide de script et, malheureusement, je suis toujours confus. J'ai exécuté le script "Testez votre configuration" qu'ils fournissent dans le Guide de script, et il semble fonctionner correctement (donc ma crainte que JMP n'ait pas pu trouver R semble infondée). Cependant, lorsque j'essaie d'exécuter le script suivant pour extraire une trame de données de test de l'environnement R (que j'ai appelé "test1")..
R Connect();
test1 = R Get(test1);
J'obtiens la sortie suivante du journal :
TKIntRJMP.R version 5.05
Attention : Erreur dans eval(expr, p) : objet 'test1' introuvable
Inconnue
Je ne sais pas vraiment comment résoudre ce problème. Je n'ai pas pu trouver de solution dans le guide de script à ce problème. Peut-être que ma compréhension de cela est incorrecte? Ma compréhension était que la commande R Get() extrairait un objet de R et le renverrait dans JMP. Donc, si j'avais une trame de données créée dans l'environnement R, elle serait extraite dans JMP en tant que table de données.
Merci pour vos conseils!
Re : JMP trouve RJe suis d'accord avec Jim. Il y a beaucoup d'informations dans la documentation qui vous éviteront beaucoup de confusion et de perte de temps. De nombreux exemples fournissent un bon point de départ pour vos propres scripts.
Cela dit, utiliser R avec JMP n'est pas difficile. Vous devez d'abord appeler le R Connect() fonction pour démarrer R et établir une connexion. Les autres fonctions R, telles que R Obtenir() , puis passez par cette connexion.
Re : JMP trouve RLa première chose à faire est de lire la section "Travailler avec R" dans la section Guide de script, Étendre JMP
Aide==>Livres==>Guide de script