Integrazione R, problema con R Submit FileCiao,
Questo script JSL viene eseguito senza problemi (sto usando JMP 16.0.0 (512257) in Windows 10 Pro 64 bit) e genera l'output png previsto da ggplot in 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;Se provo a chiamare direttamente lo script R, con lo stesso identico codice R, fallisce con il messaggio di errore "Get data for ''png" failed".
Ecco lo 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;
Anche questo script JSL semplificato, il mio primo tentativo, fallisce con lo stesso codice di errore:
R Init();
R Submit File( "C:\Users\xxx\R_projects\JMP\R_JPM_integration_1.R" );
R Get Graphics( png );
R Term();
Ed ecco il semplice script R che uso per questo 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)
Che è identico al codice R nel primo script.
C'è un problema con la chiamata R Submit File? Cosa mi manca?
Preferirei usare R Invia file in quanto consente di risparmiare lavoro di digitazione.
ScriptingfinestreRe: Integrazione R, problema con R Submit FileHo eseguito il tuo codice in 16.2 e 17.0 in esecuzione su Windows 10 a 64 bit e ho ottenuto il "Ottieni dati per ''png" non riuscito". durante l'esecuzione in JMP.
Re: Integrazione R, problema con R Submit FilePenso che quando si utilizza R Submit File la trama non viene scritta sulla console (potrei sbagliarmi, non ho scavato abbastanza per esserne sicuro).Ho risolto questo problema leggendo il file R come testo in JMP e quindi inviandolo utilizzando R Submit.
Re: Integrazione R, problema con R Submit FileHo trovato una soluzione alternativa forzando R ad aprire una finestra grafica e tracciare esplicitamente il grafico in quella finestra:
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)
Ora devo preoccuparmi delle dimensioni della trama, ma è accettabile. Ecco uno screenshot dello script con la finestra grafica di JMP:

Re: Integrazione R, problema con R Submit FileGrazie!
Infatti, Invia funziona bene, vedi il codice qui sotto.
Tuttavia, vorrei determinare come fare R Invia file funziona in quanto impedisce di dover copiare script R (possibilmente di grandi dimensioni).
La tua valutazione del perché R Invia file non funziona sembra plausibile ma richiederebbe la conferma da parte di un esperto 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: Integrazione R, problema con R Submit FileE non ho bisogno del finestre() chiamata di funzione neanche. Semplicemente tracciando esplicitamente chiamando il metodo complotto funzione è sufficiente!
Ho scoperto che il messaggio di errore JMP ( "Recupero dati per "png" non riuscito" ) scompare una volta che uso il finestre chiamata di funzione in R. Finisco solo con una finestra vuota poiché nulla è esplicitamente tracciato su di essa.
Il codice seguente funziona correttamente in combinazione con l'uso di JSL scipt R Invia File .
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)