Come creare un'applicazione usando le funzioni R<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
Sarei molto grato per qualsiasi aiuto, dato che sono nuovo di JMP, sto lottando un po '!
Mi piacerebbe creare uno strumento (sarebbe un add-in?) In JMP (che potrebbe essere poi utilizzato da altri con cui ho bisogno di lavorare) dalle funzioni che ho scritto in R-code.
È possibile? Ho letto che è ma non so nemmeno da dove cominciare.
Ho bisogno di questo strumento per chiedere all'utente di inserire 3 percorsi di file e lasciare che le funzioni R li usino.
grazie per l'aiuto
Ri: Come creare un'applicazione utilizzando le funzioni RAlla fine ho usato il builder Add-in (alla fine di pagina 14 nella newsletter di JMPer Cable) che sembra aver funzionato abbastanza bene ed è stato molto facile da fare!
Ri: Come creare un'applicazione utilizzando le funzioni RPotrebbe ovviamente essere semplicemente che per il momento ho solo la versione di prova di JMP 10 ...
Avrò la fine vera della prossima settimana, quindi ci riproverò.
Ri: Come creare un'applicazione utilizzando le funzioni RSono bloccato al punto 3, non sembra che stia succedendo niente ...
Devo fare qualcosa di sbagliato:
Ho aperto una nuova sceneggiatura e ho digitato
registerAddin (
"com.myCompany.myAddin",
"C: / Users /.../ Desktop / myAddinFolder"
);
e quando lo eseguo non succede nulla,
Immagino che succederà qualcosa per poter procedere al passaggio 4?
Grazie mille per tutto il tuo aiuto
Ri: Come creare un'applicazione utilizzando le funzioni RPagina 14 di un recente cavo JMPer copre la creazione di componenti aggiuntivi
http://jmp.com/about/newsletters/jmpercable/pdf/27_winter_2011.pdf
Penso che le istruzioni nel cavo potrebbero essere un po 'migliori di quelle che potrei inventare. Li ho seguiti alla lettera per creare componenti aggiuntivi che chiunque nella mia organizzazione può installare senza dover mappare alcuna unità o altro.
Una cosa che faccio in aggiunta alle istruzioni nel cavo è che una volta registrato l'addin e sto personalizzando il mio menu / barre degli strumenti, premo il pulsante "Cambia" in alto e seleziono l'addin che sto facendo attualmente un menu / barra degli strumenti per e salva la personalizzazione nella cartella di lavoro.
Spero che questo ti aiuti.
Ri: Come creare un'applicazione utilizzando le funzioni RHo cose che funzionano, non esattamente come voglio ancora, ma comunque una prima bozza decente.
Pensi di poter mostrare come creare uno strumento dallo script ("il pulsante sulla barra degli strumenti")?
Grazie!
Ri: Come creare un'applicazione utilizzando le funzioni RSì, funziona perfettamente. Grazie!
Ri: Come creare un'applicazione utilizzando le funzioni RIf Names = {{"t1", "t2"}}; prova Nomi [1] - che dovrebbe far annidare la lista all'interno della lista.
Ri: Come creare un'applicazione utilizzando le funzioni ROk, quindi il problema sembra essere che nel mio script ci siano due "{" invece di uno solo ...
Ho appena testato Names = {"t1", "t2"} e Names = {{"t1", "t2"}}
Quindi dovrò cercare di capire un modo per risolverlo.
Scusa per quella cosa!
Ri: Come creare un'applicazione utilizzando le funzioni RFunziona perfettamente con Names = {"test1", "test2", "test3"};
Ma quando passo il mouse sopra i nomi nel mio script, mi mostra:
nomi
{{"V1", "V2",
...............
Ho preso questo per indicare che conteneva la lista e Test è una lista in R (ho persino aggiunto i test di linea <-as.list (Test) per essere sicuri).
Forse ci sono troppi oggetti? Anche se ho messo i parametri per rendere la finestra più grande, ma questo non sembra fare alcuna differenza.
A parte questo, non so davvero cosa sto sbagliando, ci lavoro da ore ormai ...
Ri: Come creare un'applicazione utilizzando le funzioni RSei sicuro che i nomi contengano una lista?
Prova a sostituire la prima riga di codice con Names = {"test1", "test2", "test3"};
Questo verificherà che la parte JSL funzioni come vuoi, quindi puoi vedere cosa sta tornando dalla funzione RGet
Ri: Come creare un'applicazione utilizzando le funzioni RGrazie Dave!
Ho deciso di andare con la List Box alla fine perché corrisponde meglio a ciò di cui ho bisogno.
Quindi ora ho questo:
Nomi = R Get (Test);
nw = Nuova finestra ("Test", << Modal,
V List Box (
Casella di controllo (nomi, << Get Selected),
H List Box (
Button Box ("Ok", tname = Nomi << ottieni testo; cancel = -1;),
Button Box ("Annulla", cancel = 1;)
)
)
);
if (cancel! = - 1, Stop (););
Ma per qualche ragione, nella mia finestra ho solo il primo elemento della lista "Nomi" - qualche idea del perché possa essere? Ho controllato Nomi e contiene tutti i trenta elementi che ho inserito, quindi davvero non capisco perché questo sta accadendo ...
Ri: Come creare un'applicazione utilizzando le funzioni Rla funzione V List Box riceve uno o più box di visualizzazione, ciascuno separato da virgole. Quindi, nella riga di controllo, sostituire il punto e virgola (;) con una virgola (,).
-Dave
Ri: Come creare un'applicazione utilizzando le funzioni RGrazie,
Questo è molto ben fatto e molto utile!
Tuttavia, sto avendo un problema e non riesco a trovare la risposta da nessuna parte.
Ho una lista di nomi e vorrei creare una nuova finestra in cui l'utente possa scegliere un nome.
Ho provato questo:
Nomi = R Get (Test);
nw = Nuova finestra ("Test", << Modal,
V List Box (
Casella di controllo (nomi);
H List Box (
Button Box ("Ok", tname = Nomi << ottieni testo; cancel = -1;),
Button Box ("Annulla", cancel = 1;)
)
)
);
if (cancel! = - 1, Stop (););
So che devo fare qualcosa di sbagliato qui, ma non riesco a capire cosa ...
Mi aspettavo di vedere una finestra con un elenco di caselle di controllo e quindi "Ok" e "Annulla" sotto, ma tutto quello che ho è "Ok" e "Annulla".
Sarei estremamente grato per qualsiasi aiuto.
Ri: Come creare un'applicazione utilizzando le funzioni RPotresti trovare alcune cose utili qui
http://www.pega-analytics.co.uk/learning-zone/jmp-r-integration/
Ri: Come creare un'applicazione utilizzando le funzioni ROps! mewing@eastman.com
Ri: Come creare un'applicazione utilizzando le funzioni RSi presenta come ...
Il mio è lì se mi mandi una e-mail vuota, allora posso mandarti sul codice
Ri: Come creare un'applicazione utilizzando le funzioni RAssolutamente, se passi il mouse sopra il mio nome, dovresti vedere il mio indirizzo email.
Ri: Come creare un'applicazione utilizzando le funzioni RGrazie, sto iniziando a ricevere l'idea
Il mio script R è composto da 3 funzioni,
-read_table (file, n)
-Summary_Table (file1, file2, file3, n)
-Test_tables (file1, file2, file3, n, t)
Ora vedo come ottenere n & t ma come ottenere i file diversi (i file sono quelli che l'utente ha scelto in precedenza, ho usato path = Scegli file ("Quale file vuoi?"), Come hai suggerito) ?
Posso inviarti una e-mail con la R-script in modo che tu possa avere un'idea migliore di ciò che sto cercando di fare?
Ri: Come creare un'applicazione utilizzando le funzioni RLe tue domande non sono ridicole, erano tutte nuove una volta (tranne le persone che l'hanno inventato).
Diciamo che hai scritto una funzione in R come la seguente:
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
Questo è solo uno script che stima la probabilità di ottenere sei punti di seguito aumentando o diminuendo da una distribuzione normale casuale (0,1) (si riferisce a qualcosa che sto facendo ora, ed è per questo che la sto usando) . Diciamo che volevo che un utente cambiasse il valore "k" per questa regola da 6 a qualsiasi cosa di loro scelta. Ci sono un paio di modi in cui potrei avvicinarmi a questo, ma ne mostrerò solo uno che usa tutti gli strumenti di cui sopra.
Innanzitutto, ho una finestra di dialogo che richiede all'utente il valore:
nw = New Window("Value for k?",<
kval = k << Get();
Ora invio quel valore a R:
rconn << Send(kval,R Name("k");
Ora, nella mia sessione R (che è invisibile all'utente) c'è una variabile chiamata 'k' con qualsiasi valore specificato dall'utente nella finestra di dialogo.
Ora voglio eseguire il mio codice:
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
");
Nota, ho rimosso il mi piace k <- 6 dal mio codice perché ho già inviato tali informazioni a R. Ora, il passaggio finale è che voglio ottenere la percentuale fuori controllo in questo modo:
percentOOC = R Get(perc.ooc);
Ora posso visualizzare queste informazioni in una nuova finestra:
nw = New Window("Results",Show Menu(0),Show Toolbars(0),Text Box("Percent out of control is " || Char(percentOOC) || "%"));
Ora, tutto questo è memorizzato nel file di script JSL, quindi non è necessario aprire una finestra di script R.
Se hai ancora problemi, puoi pubblicare lo script R (o qui o PM me, posso aiutarti a metterlo insieme)?
Per quanto riguarda l'aggiunta di un pulsante, è abbastanza facile, ma pubblicherò come farlo dopo che il tuo script funzionerà.
Ri: Come creare un'applicazione utilizzando le funzioni RGrazie per l'aiuto!
Tuttavia ho ancora un paio di problemi, come ho detto sono davvero nuovo a questo quindi potrebbe esserci una cosa semplice che mi manca ...
Se io uso questo:
rconn << Invia ("name.in.R <-" || Char (variabile JMP));
rconn << Invia ("
output <- R.function (name.in.R)
sapply (uscita, medio)
");
"Name.in.R" è il nome della funzione che ho scritto in R? Se è così allora vuol dire che ogni volta che voglio usare questo strumento in JMP, anche una finestra di script R deve essere aperta con lo script per la funzione?
O in quello spazio dovrei essere in grado di scrivere tutta la mia funzione (con ciò intendo lo script completo per la funzione)? Non sembra funzionare per me ...
E una volta che questo script è stato scritto in JMP, sarò in grado di aggiungere un'icona alla barra degli strumenti in modo che tutti gli altri debbano fare clic e inserire i file per vedere grafici e tabelle?
Grazie mille per il tuo aiuto, e scusa ancora se le mie domande sono ridicole.
Ri: Come creare un'applicazione utilizzando le funzioni R Questo è abbastanza facile da fare. La prima cosa che devi fare è creare una sorta di GUI in JMP che permetta all'utente di inserire i 3 percorsi dei file. Questo può essere fatto in due modi:
dir = Pick Directory("Where is the file stored?");
Questo presenterà all'utente un browser di directory per selezionare la directory in cui verrà archiviato un file con un nome coerente.
O
path = Pick File("Which file do you want?");
Questo presenterà all'utente un browser di file per selezionare un file specifico.
Successivamente, è necessario stabilire una connessione R.
rconn = R Connect();
Ora hai due modi per passare informazioni a R, il primo è
rconn << Send(JMPvariable,R Name("name.in.R"));
O
rconn << Submit("name.in.R <- " || Char(JMPvariable));
rconn << Submit("
output <- R.function(name.in.R)
sapply(output,mean)
");
Il primo modo semplicemente invia una variabile e la inizializza in R. Il secondo modo ti consente di inviare qualsiasi codice R desiderato (includi le funzioni che hai scritto).
Per ottenere cose da R
JMPvariable = R Get(name.in.R);
Un paio di cose da notare - ci vuole un po 'più di tempo in più per mandare il codice a R - JMP impiegherà un po' più tempo per eseguire un secondo in R per eseguire uno script JSL. La cosa bella però è che puoi usare JMP per creare un output bello che R non potrebbe proprio fare.
Se hai domande di follow-up, per favore chiedi, mi iscriverò alla discussione.