Intégration R, problème avec R Submit FileSalut,
Ce script JSL s'exécute sans aucun problème (j'utilise JMP 16.0.0 (512257) sous Windows 10 Pro 64 bits) et génère la sortie png attendue à partir de ggplot dans JMP :
LoadExprs = Expr(
InitR = Expr(
R Init();
R Submit( "
library(dplyr)
library(ggplot2)
library(palmerpenguins)
" );
);
MakePlot = Expr(
R Submit(
Eval Insert(
"\[
ggplot(data = penguins, aes(x = bill_length_mm, y = flipper_length_mm, colour = species)) +
geom_point() +
facet_wrap(. ~ island, nrow = 3)
]\
"
);
);
);
CapturePlot = Expr(
JMP_plot = R Get Graphics( png );
New Window( "Imported Plot", Picture Box( JMP_Plot ) );
);
RunClose = Expr(
R Term(); //Close r connection
);
);
LoadExprs;
InitR;
MakePlot;
CapturePlot;
RunClose;Si j'essaie d'appeler le script R directement, avec exactement le même code R, il échoue avec le message d'erreur "Echec de l'obtention des données pour ''png''".
Voici le script JSL :
LoadExprs = Expr(
InitR = Expr(
R Init();
);
RunR = Expr(
R Submit File( "C:\Users\xxx\R_projects\JMP\R_JPM_integration_1.R" );
);
CapturePlot = Expr(
JMP_plot = R Get Graphics( png );
New Window( "Imported Plot", Picture Box( JMP_Plot ) );
);
RunClose = Expr(
R Term(); //Close r connection
);
);
LoadExprs;
InitR;
RunR;
CapturePlot;
RunClose;
Ce script JSL simplifié, ma première tentative, échoue également avec le même code d'erreur :
R Init();
R Submit File( "C:\Users\xxx\R_projects\JMP\R_JPM_integration_1.R" );
R Get Graphics( png );
R Term();
Et voici le simple R-script que j'utilise pour ce test :
library(dplyr)
library(ggplot2)
library(palmerpenguins)
ggplot(data = penguins, aes(x = bill_length_mm, y = flipper_length_mm, colour = species)) +
geom_point() +
facet_wrap(. ~ island, nrow = 3)
Qui est identique au code R du premier script.
Y a-t-il un problème avec l'appel R Submit File ? Qu'est-ce que je rate?
je préférerais utiliser R Soumettre le fichier car cela évite le travail de frappe.
Scriptles fenêtresRe : intégration R, problème avec R Submit FileJ'ai exécuté votre code sous 16.2 et 17.0 sous Windows 10 64 bits et j'ai obtenu le "L'obtention des données pour ''png" a échoué". lors de l'exécution sous JMP.
Re : intégration R, problème avec R Submit FileJe pense que lors de l'utilisation de R Submit File, l'intrigue n'est pas écrite sur la console (je peux me tromper, je n'ai pas assez creusé pour être sûr).J'ai contourné ce problème en lisant le fichier R sous forme de texte dans JMP, puis en le soumettant à l'aide de R Submit.
Re : intégration R, problème avec R Submit FileMerci!
En effet, Soumettre fonctionne très bien, voir le code ci-dessous.
Pourtant, je voudrais déterminer comment faire R Soumettre le fichier fonctionne car cela évite d'avoir à copier des scripts R (éventuellement volumineux).
Votre évaluation du pourquoi R Soumettre le fichier ne fonctionne pas semble plausible mais nécessiterait la confirmation d'un expert SAS/JMP.
LoadExprs = Expr(
InitR = Expr(
R Init();
);
RunR = Expr(
R Submit ( "
library(dplyr)
library(ggplot2)
library(palmerpenguins)
ggplot(data = penguins, aes(x = bill_length_mm, y = flipper_length_mm, colour = species)) +
geom_point() +
facet_wrap(. ~ island, nrow = 3)
" );
);
CapturePlot = Expr(
JMP_plot = R Get Graphics( png );
New Window( "Imported Plot", Picture Box( JMP_Plot ) );
);
RunClose = Expr(
R Term(); //Close r connection
);
);
LoadExprs;
InitR;
RunR;
CapturePlot;
RunClose;
Re : intégration R, problème avec R Submit FileJ'ai trouvé une solution de contournement en forçant R à ouvrir une fenêtre graphique et à tracer explicitement le graphique dans cette fenêtre :
library(dplyr)
library(ggplot2)
library(palmerpenguins)
windows(800,600)
p <- ggplot(data = penguins, aes(x = bill_length_mm, y = flipper_length_mm, colour = species)) +
geom_point() +
facet_wrap(. ~ island, nrow = 3)
plot(p)
Je dois maintenant m'inquiéter de la taille de la parcelle, mais c'est acceptable. Voici une capture d'écran du script avec la fenêtre graphique JMP :

Re : intégration R, problème avec R Submit FileEt je n'ai pas besoin de les fenêtres() appel de fonction non plus. Il suffit de tracer explicitement en appelant le terrain la fonction est suffisante !
J'ai trouvé que le message d'erreur JMP ( "L'obtention des données pour "png" a échoué" ) disparaît une fois que j'utilise le les fenêtres appel de fonction dans R. Je me retrouve juste avec une fenêtre vide car rien n'y est explicitement tracé.
Le code ci-dessous fonctionne bien en conjonction avec le scipt JSL en utilisant R soumettre le fichier .
library(dplyr)
library(ggplot2)
library(palmerpenguins)
p <- ggplot(data = penguins, aes(x = bill_length_mm, y = flipper_length_mm, colour = species)) +
geom_point() +
facet_wrap(. ~ island, nrow = 3)
plot(p)