Aggiornamento 27 giugno 2018: JMPtoRAddinBuilder.jmpaddin ora contiene file sorgente JSL non crittografati.
Aggiornamento della versione 2
Sono lieto di annunciare che il generatore aggiuntivo JMP to R ora supporta l'output di tutti i componenti di output (tabella, grafico, ecc.) come un unico report! Per abilitare questa funzione, installare il "JMPtoRAddinBuilderWithReport" allegato. Quando definisci i componenti di output, seleziona la casella "Restituisci tutti i risultati come rapporto".
Per vedere un esempio del formato di output aggiornato, scorri fino alla sezione corrispondente nel post seguente. È allegata anche la funzione SVM con l'output del report abilitato.
Cos'è il generatore di componenti aggiuntivi da JMP a R?
Sebbene JMP sia un software statistico molto potente, gli utenti JMP potrebbero voler estendere JMP oltre le sue capacità incluse accedendo ad alcune funzionalità R.
Quest'estate, alla luce della necessità di rendere le funzioni R più accessibili agli utenti JMP senza lasciare la piattaforma JMP, ho creato questa interfaccia utente JMP di configurazione guidata che consente agli utenti di definire e utilizzare componenti aggiuntivi JMP personalizzati che eseguono funzioni R. Questo componente aggiuntivo consente agli utenti finali di analizzare i propri dati in JMP utilizzando le funzioni R senza scrivere codice JSL o R.
Questo programma utilizza la connessione da JMP a R e può anche essere adattato per creare componenti aggiuntivi personalizzati per funzioni in altri linguaggi, come Python e JSL stesso.
Guarda una demo video del generatore di componenti aggiuntivi da JMP a R Qui o sotto:
Requisiti
- R deve essere installato sul tuo computer. Installa R da https://www.r-project.org/
- Il componente aggiuntivo funziona solo sul sistema operativo Windows.
- Se applicabile, installa i pacchetti appropriati in R che utilizzerai nel codice R.
Note sull'utilizzo
- Se utilizzi selezioni di colonne o elenchi di colonne nel componente aggiuntivo, assicurati di aprire la tabella dati prima di eseguire l'interfaccia utente di configurazione.
- Ogni funzione creata avrà al massimo un solo elenco di colonne.
- Tutte le colonne selezionate verranno raggruppate insieme in un'unica colonna; immettere la stessa colonna per tutte le selezioni di colonna.
- Ciascuno dei nomi dei pulsanti per la selezione delle colonne deve essere univoco.
- Le selezioni di colonne e gli elenchi di colonne verranno posizionati nella parte superiore della rispettiva colonna.
- Nel codice R, fai riferimento alla tabella dati come "dt".
- Se stai aggiungendo una colonna a una tabella e stai chiedendo all'utente di selezionare il tipo di colonna, nel codice R, fai riferimento alla stringa che contiene la scelta dell'utente come "colType".
- I valori delle caselle di controllo vengono restituiti come '0' (non selezionato) o '1' (selezionato).
- Incolla il codice R come faresti normalmente nella console R, ad eccezione della seguente differenza.
Quando si fa riferimento al nome di una variabile come stringa come parametro di una funzione, utilizzare la funzione eval(parse()) in R. Per esempio:
eval(parse(text=paste("x <- subset(dt, select=-", colnames(factor)[1], ")")))Questo valuta l'espressione e utilizza la stringa memorizzata in colnames(factor)[1] nell'operazione della funzione.
Come funziona: creazione di una funzione Support Vector Machine (SVM) come esempio
PASSO 0
Installa e apri il generatore di componenti aggiuntivi da JMP a R.
NOTA: se utilizzi selezioni di colonne o elenchi di colonne nel componente aggiuntivo, assicurati di aprire la tabella dati prima di eseguire l'interfaccia utente di configurazione E prima di eseguire il componente aggiuntivo creato.
Step 0: Install and Open Add-InStep 0: Install and Open Add-In Passaggio 0: installa e apri il componente aggiuntivo
PASSO 1
Step 1: Enter Number of Components and ColumnsStep 1: Enter Number of Components and Columns Passaggio 1: immettere il numero di componenti e colonne La prima schermata richiede il numero di componenti* e di colonne # nel componente aggiuntivo.
*I cinque tipi di componenti supportati sono: casella di controllo, elenco colonne, selezione colonna, menu a discesa e valore numerico. Ogni selezione di colonna è dotata del proprio pulsante di assegnazione, quindi conta ciascuna selezione di colonna e il pulsante corrispondente come un componente.
# Il numero di colonne si riferisce alle colonne di visualizzazione in cui compaiono i componenti. Ad esempio, ci sono due visualizzare le colonne nell'interfaccia utente per questo esempio (vedere di seguito).
NOTA: la colonna "Azione" è raggruppata con la colonna di selezione della colonna, il che significa che i due oggetti raggruppati insieme contano come una colonna .
PASSO 2
Successivamente, per ciascuno dei tuoi componenti, identifica il tipo.
NOTA: inserisci i componenti nell'ordine in cui desideri che vengano visualizzati nel componente aggiuntivo, in base alle colonne. Ciò significa che tutti i componenti in ciascuna colonna devono essere in ordine sequenziale nei menu a discesa specificati, ma non è necessario inserire i valori rigorosamente colonna per colonna.
Ad esempio, puoi inserire i tipi per il componente 1, colonna 1; quindi componente 1, colonna 2; quindi componente 2, colonna 1; quindi componente 2, colonna 2 anziché colonna per colonna, se lo desideri.
Step 2: Enter Component TypesStep 2: Enter Component Types Passaggio 2: inserisci i tipi di componenti
PASSO 3
Per ciascun componente, seleziona la colonna in cui dovrebbe apparire.
In questa schermata definire anche i parametri per ciascun componente come segue:
- Casella di controllo: immettere il nome (etichetta) per il componente.
- Elenco colonne: oltre alla selezione della colonna, non è necessaria alcuna azione.
- Selezione colonna: controlla tutte le proprietà che si applicano alla casella di selezione.
- Menu a discesa: inserisci l'etichetta per il menu a discesa e le scelte per il menu. NON includere uno spazio dopo le virgole (ad esempio elenca le cose come a,b,c,d), ma i nomi e le scelte stesse possono contenere spazi. Il primo nome che scrivi nell'elenco verrà preso come nome per il menu a discesa e il resto verrà elencato come scelte nell'ordine in cui li digiti.
- Valore numerico: immettere il nome (etichetta) per il componente.
Step 3: Enter Component ParametersStep 3: Enter Component ParametersPassaggio 3: immettere i parametri del componente
PASSO 4
Se il componente aggiuntivo utilizza le selezioni di colonna, immetti i nomi per ciascuno dei pulsanti per le selezioni di colonna corrispondenti nell'ordine in cui dovrebbero apparire. Altrimenti, fai clic su "Avanti".
Step 4: Enter Column Select Names, if ApplicableStep 4: Enter Column Select Names, if ApplicablePassaggio 4: immettere i nomi di selezione delle colonne, se applicabile
PASSO 5
Questa schermata visualizza un'anteprima dell'interfaccia utente del componente aggiuntivo che hai creato.
Step 5: Add-In User Interface PreviewStep 5: Add-In User Interface PreviewPassaggio 5: anteprima dell'interfaccia utente del componente aggiuntivo
PASSO 6
In questa pagina, assegna un nome al componente aggiuntivo e forniscigli una descrizione (che verrà visualizzata sotto il nome del componente aggiuntivo).
Step 6: Name and Describe Add-InStep 6: Name and Describe Add-In Passaggio 6: nominare e descrivere il componente aggiuntivo
PASSO 7
In questa schermata definire i nomi delle variabili di input e output che verranno utilizzati nel codice R. Dovrebbero essere solo una parola (senza spazi).
Per le variabili di output, NON includere uno spazio dopo le virgole (ovvero elencare le variabili come a,b,c).
Step 7: Define Input and Output VariablesStep 7: Define Input and Output Variables Passaggio 7: definire le variabili di input e output
PASSO 8
In questa schermata, inserisci il codice R che verrà eseguito dalla tua funzione. Il codice R dovrebbe avere la sintassi R (ovvero potrebbe essere eseguito direttamente in una console R).
Il codice dovrebbe fare riferimento ai nomi delle variabili dichiarati nella schermata precedente.
Immettere anche il numero di visualizzazioni di output per la funzione. I quattro tipi di visualizzazioni di output attualmente supportati sono:
- Aggiungi colonna nella tabella esistente
- Trama R più recente
- Tavolo aperto
- Finestra dei risultati con testo o numeri
Step 8: Enter R Code and Number of Output DisplaysStep 8: Enter R Code and Number of Output DisplaysPassaggio 8: immettere il codice R e il numero di display di output
Codice R per questo esempio:
library(e1071)
library(gridExtra)
theText <- paste("x <- subset(dt, select=-", colnames(factor)[1], ")")
eval(parse(text=theText))
y <- factor
svm_model <- svm(x, y, type=svmType)
modelText <- paste("second.svm <- svm(", colnames(factor)[1], " ~ ., data = dt)")
eval(parse(text=modelText))
summary(svm_model)
summary(second.svm)
pred <- predict(svm_model, x)
pred <- as.vector(pred)
if(is.list(y)) {y <- unlist(y)}
predTable <- table(pred,y)
predTable <- as.data.frame(predTable)
eval(parse(text=paste(colnames(y_var)[1], "<- as.vector(as.matrix(y_var))")))
eval(parse(text=paste(colnames(x_var)[1], "<- as.vector(as.matrix(x_var))")))
max1 <- eval(parse(text=paste("max(", colnames(y_var)[1], ")")))
max2 <- eval(parse(text=paste("max(", colnames(x_var)[1], ")")))
gridSize <- eval(parse(text=paste("max(c(", max1, ",", max2, "))")))
eval(parse(text=paste("plot(second.svm, dt, ", colnames(y_var)[1], " ~ ", colnames(x_var)[1], ", fill=TRUE, grid=gridSize)")))
PASSO 9
Per ciascuno dei display di output selezionati, specificare il tipo.
Step 9: Select Output Display TypesStep 9: Select Output Display Types Passaggio 9: selezionare i tipi di visualizzazione dell'output
PASSO 10
Fornire i parametri per ciascun display di output selezionato come segue:
- Per Accodamento colonna, immettere il nome della colonna che verrà accodata alla tabella attualmente aperta, il tipo di dati contenuti nella colonna e la variabile di output specificata in precedenza che conterrà l'elenco di valori che popoleranno la colonna.
- Per Tabella, immettere la variabile di output specificata in precedenza che conterrà la tabella.
- Per R Plot, inserisci il formato della grafica che desideri recuperare da R (png o jpg).
- Per Finestra, inserisci il testo dei risultati come dovrebbe apparire nella finestra dei risultati. Se si desidera che vengano visualizzati i valori delle variabili di input/output, racchiudere i nomi delle variabili con il simbolo dell'accento circonflesso (^). Inserisci anche il nome della finestra che desideri venga visualizzata.
Step 10: Provide Output Display ParametersStep 10: Provide Output Display ParametersPassaggio 10: fornire i parametri di visualizzazione dell'output Ora puoi trovare il file del componente aggiuntivo nella directory che hai scelto!

A installare il componente aggiuntivo, fare doppio clic sul componente aggiuntivo e JMP dovrebbe chiederti se installarlo. Fare clic su "Installa". Ora dovrebbe essere visualizzato nel menu Componenti aggiuntivi in JMP.
A correre nel componente aggiuntivo, apri la tabella dati su cui desideri eseguire l'operazione (se applicabile) in modo che sia la tabella corrente. Fai clic sul componente aggiuntivo come mostrato sopra e la finestra di dialogo del componente aggiuntivo dovrebbe aprirsi.

Per questo esempio, i tre uscite sono una colonna di previsione, una matrice di confusione e un grafico SVM. I risultati per gli input mostrati sopra sono i seguenti, con la prima visualizzazione che è il formato di output del report appena aggiunto nella versione 2:
Output view from add-in version 2Output view from add-in version 2 Visualizzazione dell'output dal componente aggiuntivo versione 2
Output view from add-in version 1Output view from add-in version 1Visualizzazione dell'output dal componente aggiuntivo versione 1
Modifica del componente aggiuntivo
Per modificare il tuo componente aggiuntivo, apri la directory in cui hai salvato il file .jmpaddin. Cambia l'estensione in .zip:
Apri il file .txt con il nome del tuo componente aggiuntivo:

Questo è il tuo file di configurazione. Se desideri apportare modifiche al tuo componente aggiuntivo, come codice R o nomi di variabili, puoi modificare direttamente i tuoi input in questo documento, salvare il file .txt e il file .zip, modificare nuovamente l'estensione in .jmpaddin, e reinstallare il componente aggiuntivo. Le modifiche verranno applicate se i valori sono stati modificati correttamente.
Si prega di consultare la documentazione allegata per un secondo esempio (Approssimazione aggregata a pezzi delle serie temporali, codice R adattato da Qui ) e altre note. In allegato sono presenti anche i due esempi (SVM, PAA) che ho creato con questo componente aggiuntivo.
Quali componenti aggiuntivi R hai creato con questo componente aggiuntivo? Quali miglioramenti ti piacerebbe vedere? Fatemelo sapere nei commenti qui sotto!