So erstellen Sie eine Anwendung mit R-Funktionen<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo zusammen,
Ich wäre sehr dankbar für jede Hilfe, da ich neu bei JMP bin, kämpfe ich ein bisschen!
Ich möchte in JMP ein Tool erstellen (wäre das ein Add-In?) (Das dann von anderen verwendet werden könnte, mit denen ich arbeiten muss) aus Funktionen, die ich in R-Code geschrieben habe.
Ist das möglich? Ich habe gelesen, dass es ist, aber ich weiß nicht einmal wo ich anfangen soll.
Ich brauche dieses Tool, um den Benutzer aufzufordern, 3 Dateipfade einzugeben und die R-Funktionen verwenden zu lassen.
Danke für deine Hilfe
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenAm Ende habe ich den Add-In-Builder (Ende Seite 14 im JMPer Cable Newsletter) verwendet, der anscheinend gut funktioniert hat und sehr einfach zu machen war!
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenEs könnte natürlich einfach sein, dass ich im Moment nur die Testversion von JMP 10 habe ...
Ich habe Ende nächster Woche das Richtige, also versuche ich es dann noch einmal.
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenIch stehe auf Schritt 3 fest, es scheint nichts zu passieren ...
Ich muss etwas falsch machen:
Ich öffnete ein neues Skript und tippte ein
registerAddin (
"com.myCompany.myAddin",
"C: / Users /.../ Desktop / myAddinFolder"
);
und wenn ich es laufe, passiert nichts,
Ich gehe davon aus, dass etwas passieren soll, damit ich mit Schritt 4 fortfahren kann.
Vielen Dank für all Ihre Hilfe
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenSeite 14 eines aktuellen JMPer Cable behandelt Add-Ins
http://jmp.com/about/newsletters/jmpercable/pdf/27_winter_2011.pdf
Ich denke, die Anweisungen im Kabel sind vielleicht etwas besser als die, die ich mir vorstellen könnte. Ich habe sie genauestens befolgt, um Addins zu erstellen, die jeder in meiner Organisation installieren kann, ohne dass Laufwerke zugeordnet werden müssen.
Ich mache zusätzlich zu den Anweisungen in Cable nur Folgendes: Sobald ich das Addin registriert und mein Menü / meine Symbolleisten angepasst habe, drücke ich oben auf den Button "Ändern" und wähle das Addin aus, das ich gerade mache ein Menü / eine Symbolleiste für und speichert die Anpassung im Arbeitsordner.
Hoffe das hilft.
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenIch habe Dinge zum Laufen gebracht, nicht genau wie ich es will, aber trotzdem einen anständigen ersten Entwurf.
Glaubst du, du könntest mir zeigen, wie man ein Werkzeug aus dem Skript erstellt ("die Schaltfläche in der Werkzeugleiste")?
Vielen Dank!
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenJa, das funktioniert perfekt. Vielen Dank!
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenWenn Names = {{"t1", "t2"}}; try Names [1] - Damit sollte die Liste in die Liste eingebettet werden.
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenOk, das Problem scheint zu sein, dass es in meinem Skript zwei "{" anstatt nur eines gibt ...
Ich habe gerade Names = {"t1", "t2"} und Names = {{"t1", "t2"}} getestet.
Also muss ich versuchen, einen Weg zu finden, um das zu beheben.
Das tut mir leid!
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenEs funktioniert perfekt mit Names = {"test1", "test2", "test3"};
Aber wenn ich in meinem Skript über Namen schwebe, zeigt es mir:
Namen
{{"V1", "V2",
...............
Ich nahm an, dass es die Liste enthielt, und Tests ist eine Liste in R (ich habe sogar die Zeile Tests <-as.list (Tests) hinzugefügt, um sicherzugehen).
Ist es vielleicht zu viele Artikel? Ich habe zwar Parameter eingegeben, um das Fenster größer zu machen, aber das schien keinen Unterschied zu machen.
Abgesehen davon weiß ich wirklich nicht was ich falsch mache, ich bin schon seit Stunden dabei ...
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenSind Sie sicher, dass Names eine Liste enthält?
Versuchen Sie, die erste Codezeile durch Names = {"test1", "test2", "test3"} zu ersetzen.
Dadurch wird sichergestellt, dass der JSL-Teil wie gewünscht funktioniert. Anschließend können Sie sehen, was von der RGet-Funktion zurückkommt
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenDanke Dave!
Ich habe mich am Ende für List Box entschieden, da es besser zu dem passt, was ich brauche.
Also habe ich jetzt folgendes:
Namen = R Get (Tests);
nw = Neues Fenster ("Test", << Modal,
V-Listenfeld (
Kontrollkästchen (Namen, << Get Selected),
H-Listenfeld (
Schaltflächenfeld ("Ok", tname = Namen << Text erhalten; Abbrechen = -1;),
Schaltflächenfeld ("Abbrechen", Abbrechen = 1;)
)
)
);
if (Abbruch! = - 1, Stop (););
Aber aus irgendeinem Grund habe ich in meinem Fenster nur den ersten Punkt der Liste "Namen" - irgendwelche Ideen, warum das so ist? Ich habe Namen überprüft und es enthält alle dreißig Elemente, die ich hineingelegt habe, daher verstehe ich wirklich nicht, warum das so ist ...
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenDie V List Box-Funktion empfängt ein oder mehrere Anzeigefelder, die durch Kommas getrennt sind. Ersetzen Sie also in der Checkbox-Zeile das Semikolon (;) durch ein Komma (,).
-Dave
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenVielen Dank,
Das ist sehr schön gemacht und sehr nützlich!
Ich habe jedoch ein Problem und kann anscheinend nirgends die Antwort finden.
Ich habe eine Liste mit Namen und möchte ein neues Fenster erstellen, in dem der Benutzer einen Namen auswählen kann.
Ich habe das versucht:
Namen = R Get (Tests);
nw = Neues Fenster ("Test", << Modal,
V-Listenfeld (
Kontrollkästchen (Namen);
H-Listenfeld (
Schaltflächenfeld ("Ok", tname = Namen << Text erhalten; Abbrechen = -1;),
Schaltflächenfeld ("Abbrechen", Abbrechen = 1;)
)
)
);
if (Abbruch! = - 1, Stop (););
Ich weiß, dass ich hier etwas falsch machen muss, aber ich kann nicht herausfinden, was ...
Ich hatte erwartet, ein Fenster mit einer Liste von Kontrollkästchen und dann "Ok" und "Cancel" darunter zu sehen, aber alles, was ich habe, ist "Ok" und "Cancel".
Für jede Hilfe wäre ich sehr dankbar.
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenHier finden Sie nützliche Informationen
http://www.pega-analytics.co.uk/learning-zone/jmp-r-integration/
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenHoppla! mewing@eastman.com
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenEs kommt als ...
Meine ist dort, wenn Sie mir eine leere E-Mail senden, dann kann ich Ihnen den Code schicken
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenWenn Sie mit der Maus über meinen Namen fahren, sollten Sie meine E-Mail-Adresse sehen.
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenDanke, ich fange an, die Idee zu bekommen
Mein R-Skript besteht aus 3 Funktionen,
-read_table (file, n)
-Summary_Table (Datei1, Datei2, Datei3, n)
-Testtabellen (Datei1, Datei2, Datei3, n, t)
Ich sehe jetzt, wie man n und t erhält, aber wie bekomme ich die verschiedenen Dateien (die Dateien sind die, die der Benutzer zuvor ausgewählt hat, ich habe Pfad verwendet = Pick File ("Welche Datei willst du?"); ?
Könnte ich Ihnen das R-Skript per E-Mail senden, damit Sie eine bessere Vorstellung von dem haben, was ich versuche?
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenIhre Fragen sind nicht lächerlich, alle waren einmal neu (außer den Leuten, die sie erfunden haben).
Nehmen wir an, Sie haben eine Funktion in R wie folgt geschrieben:
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
Dies ist nur ein Skript, das die Wahrscheinlichkeit schätzt, dass sechs Punkte in einer Reihe erzielt werden, die alle von einer zufälligen Normalverteilung (0,1) zunehmen oder abnehmen (dies bezieht sich auf einige Dinge. . Nehmen wir an, ich wollte, dass ein Benutzer den 'k'-Wert für diese Regel von 6 in einen beliebigen Wert ihrer Wahl ändern soll. Es gibt ein paar Möglichkeiten, wie ich das angehen könnte, aber ich zeige nur einen, der alle oben genannten Werkzeuge verwendet.
Zunächst habe ich ein Dialogfenster, in dem der Benutzer zur Eingabe des Werts aufgefordert wird:
nw = New Window("Value for k?",<
kval = k << Get();
Nun sende ich diesen Wert an R:
rconn << Send(kval,R Name("k");
In meiner R-Sitzung (die für den Benutzer nicht sichtbar ist) befindet sich jetzt eine Variable mit dem Namen 'k', deren Wert im Dialogfeld vom Benutzer angegeben wurde.
Jetzt möchte ich meinen Code ausführen:
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
");
Beachten Sie, ich habe das like k <- 6 aus meinem Code entfernt, da ich diese Informationen bereits an R gesendet habe. Nun ist der letzte Schritt, ich möchte, dass das Prozent so außer Kontrolle gerät:
percentOOC = R Get(perc.ooc);
Ich kann diese Informationen jetzt in einem neuen Fenster anzeigen:
nw = New Window("Results",Show Menu(0),Show Toolbars(0),Text Box("Percent out of control is " || Char(percentOOC) || "%"));
Jetzt ist alles in der JSL-Skriptdatei gespeichert, sodass kein R-Skriptfenster geöffnet werden muss.
Wenn Sie immer noch Probleme haben, können Sie das R-Skript posten (entweder hier oder PM, ich kann Ihnen dabei helfen, es zusammenzustellen)?
Was das Hinzufügen als Schaltfläche angeht, ist das ziemlich einfach, aber ich werde Ihnen sagen, wie das geht, nachdem Ihr Skript funktioniert.
Betreff: So erstellen Sie eine Anwendung mit R-FunktionenDanke für deine Hilfe!
Allerdings habe ich immer noch ein paar Probleme, wie gesagt, ich bin wirklich neu dabei, daher kann es etwas einfaches geben, was mir fehlt ...
Wenn ich das benutze:
rconn << Submit ("name.in.R <-" || Char (JMPvariable));
rconn << Übermitteln ("
Ausgabe <- R.Funktion (Name.in.R)
sapply (Ausgabe, Mittelwert)
");
Ist "name.in.R" der Name der Funktion, die ich in R geschrieben habe? Wenn ja, bedeutet das, dass jedes Mal, wenn ich dieses Tool in JMP verwenden möchte, ein R-Skriptfenster mit dem Skript für die Funktion geöffnet sein muss?
Oder sollte ich in diesem Bereich meine gesamte Funktion ausschreiben können (damit meine ich das vollständige Skript für die Funktion)? Es scheint nicht für mich zu arbeiten ...
Und wenn dieses Skript in JMP erstellt wurde, kann ich der Symbolleiste ein Symbol hinzufügen, sodass alle anderen nur klicken und die Dateien eingeben müssen, um die Diagramme und Tabellen anzuzeigen.
Vielen Dank für Ihre Hilfe und es tut uns leid, wenn meine Fragen lächerlich sind.
Betreff: So erstellen Sie eine Anwendung mit R-Funktionen Das ist ziemlich einfach. Als Erstes müssen Sie in JMP eine Art GUI erstellen, über die der Benutzer die 3 Dateipfade eingeben kann. Dies kann auf verschiedene Arten erfolgen:
dir = Pick Directory("Where is the file stored?");
Dadurch wird dem Benutzer ein Verzeichnisbrowser angezeigt, in dem das Verzeichnis ausgewählt werden kann, in dem eine Datei mit einem konsistenten Namen gespeichert wird.
ODER
path = Pick File("Which file do you want?");
Dadurch wird dem Benutzer ein Dateibrowser zur Auswahl einer bestimmten Datei angezeigt.
Als Nächstes müssen Sie eine R-Verbindung herstellen.
rconn = R Connect();
Nun haben Sie zwei Möglichkeiten, Informationen an R weiterzugeben, die erste ist
rconn << Send(JMPvariable,R Name("name.in.R"));
ODER
rconn << Submit("name.in.R <- " || Char(JMPvariable));
rconn << Submit("
output <- R.function(name.in.R)
sapply(output,mean)
");
Der erste Weg sendet nur eine Variable und initialisiert sie in R. Der zweite Weg ermöglicht es Ihnen, jeden gewünschten R-Code zu übergeben (einschließlich der von Ihnen geschriebenen Funktionen).
Um Dinge aus R herauszuholen
JMPvariable = R Get(name.in.R);
Ein paar Dinge zu beachten - JMP benötigt etwas Zeit, um Code an R zu senden - was in R eine Sekunde dauern kann, dauert bei Verwendung eines JSL-Skripts mehrmals. Das Schöne ist jedoch, dass Sie mit JMP eine schöne Ausgabe machen können, die R einfach nicht machen kann.
Wenn Sie weitere Fragen haben, fragen Sie bitte, ich abonniere den Thread.