R-Integration, Problem mit R Submit FileHallo,
Update: Ich habe einen Workaround gefunden, den ich in den Kommentaren gepostet habe.
Dieses JSL-Skript läuft ohne Probleme (ich verwende JMP 16.0.0 (512257) unter Windows 10 Pro 64 Bit) und generiert die erwartete PNG-Ausgabe von 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;Wenn ich versuche, das R-Skript direkt mit genau demselben R-Code aufzurufen, schlägt dies mit der Fehlermeldung „Get data for ''png“ failed“ fehl.
Hier ist das JSL-Skript:
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;
Dieses vereinfachte JSL-Skript, mein erster Versuch, schlägt ebenfalls mit demselben Fehlercode fehl:
R Init();
R Submit File( "C:\Users\xxx\R_projects\JMP\R_JPM_integration_1.R" );
R Get Graphics( png );
R Term();
Und hier ist das einfache R-Skript, das ich für diesen Test verwende:
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)
Das ist identisch mit dem R-Code im ersten Skript.
Gibt es ein Problem mit dem R-Submit-File-Aufruf? Was vermisse ich?
Ich würde es lieber verwenden R Datei senden da es Tipparbeit spart.
Automatisierung und SkripterstellungDatenmischung und -bereinigungWindowsBetreff: R-Integration, Problem mit R Submit FileUnd ich brauche das nicht Windows() Funktionsaufruf entweder. Nur explizites Plotten durch Aufrufen von Handlung Funktion ist ausreichend!
Ich habe festgestellt, dass die JMP-Fehlermeldung ( „Daten für „png“ abrufen fehlgeschlagen“ ) verschwindet, sobald ich das verwende Fenster Funktionsaufruf in R. Am Ende habe ich nur ein leeres Fenster, da nichts explizit darin dargestellt wird.
Der folgende Code funktioniert gut in Verbindung mit dem JSL-Skript R Datei einreichen .
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)
Betreff: R-Integration, Problem mit R Submit FileIch habe eine Problemumgehung gefunden, indem ich R gezwungen habe, ein Grafikfenster zu öffnen und das Diagramm explizit in diesem Fenster zu zeichnen:
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)
Ich muss mir jetzt Gedanken über die Grundstücksgröße machen, aber das ist akzeptabel. Hier ist ein Screenshot des Skripts mit dem JMP-Grafikfenster:

Betreff: R-Integration, Problem mit R Submit FileDanke!
In der Tat, R Senden funktioniert einwandfrei, siehe Code unten.
Dennoch würde ich gerne bestimmen, wie man es macht R Datei senden funktioniert, da es verhindert, dass (möglicherweise große) R-Skripte kopiert werden müssen.
Ihre Einschätzung, warum R Datei senden Funktioniert nicht, klingt plausibel, müsste aber von einem SAS/JMP-Experten bestätigt werden.
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;
Betreff: R-Integration, Problem mit R Submit FileIch denke, dass bei der Verwendung von „R Submit File“ der Plot nicht in die Konsole geschrieben wird (ich könnte mich irren, ich habe mich nicht ausreichend vertieft, um sicherzugehen).Ich habe dies umgangen, indem ich die R-Datei als Text in JMP eingelesen und sie dann mit R Submit übermittelt habe.
Betreff: R-Integration, Problem mit R Submit FileIch habe Ihren Code unter 16.2 und 17.0 unter Windows 10 64bit ausgeführt und das erhalten „Das Abrufen von Daten für „png“ ist fehlgeschlagen“, wenn es unter JMP ausgeführt wird.