JMP trova RCiao,
Molto una domanda da principiante qui. Mi piace usare JMP e ho alcuni dati in R che vorrei importare in JMP. Sto provando a utilizzare l'interfaccia da JMP a R (la prima volta che esegue script in JMP) e non so davvero cosa sto facendo. Tuttavia, quando eseguo il seguente script JSL, non accade nulla;
test1 = Get R(test1);
Sono sicuro che c'è molto di più di questo, ma sono davvero perplesso su come procedere. Se hai qualche suggerimento su come iniziare a estrarre i dati da R in JMP, mi piacerebbe sapere! Sono su un PC che è appena stato aggiornato a Windows 10, quindi qualcosa a cui stavo pensando (ma non ho idea se sia questo) è che JMP non riesce a trovare la posizione della mia installazione di R. Ancora una volta, questa è la mia prima avventura nello scripting JSL, quindi questa è probabilmente una domanda per principianti, ma non sono davvero sicuro di cosa sto facendo qui. Grazie!
Ri: JMP trova RHo parlato con l'assistenza JMP di questo argomento; sfortunatamente, un utente non è in grado di estrarre un dataframe da R in JMP nel modo in cui stavo indagando. Dal supporto JMP:
JMP does not interact with R in this manner. When JMP initializes R, it starts a new session (environment). That session is completely isolated from R meaning, if you were to start a new R session, JMP would not recognize any of the environment variables (global or local). This is why your R data frame is unknown to JMP.
Esistono alcuni modi per estrarre i dati da R in JMP, ma essenzialmente richiedono tutti che il frame di dati in R venga "creato" eseguendo uno script tramite la finestra di dialogo Script di JMP. Ho eseguito l'opzione n. 3 (con R che scrive il dataframe in un file CSV e quindi apre il file CSV con JMP), ma l'opzione n. 2 è intrigante. Quando ho provato, questo, sfortunatamente, ho esaurito la memoria sul mio computer, quindi questa potrebbe non essere un'opzione praticabile per frame di dati estremamente grandi. Questi sono stati i suggerimenti del supporto JMP:
1. Use JMP's R Submit () to create the data frame. The use R Submit () and R Get () to bring the data frame into JMP. This is probably the mostly commonly used approach.
2. Use JMP's R Submit () to load the data frame via R and bring it back to JMP.
3. Lastly, you can also save the data frame from R as a CSV and open it in JMP using JSL's open function.
Ri: JMP trova RSi prega di pubblicare la loro risposta qui. Nuovo territorio!
Ri: JMP trova RGrazie per averlo provato dalla tua parte, Mark! Mi metterò in contatto con il supporto tecnico per vedere cosa hanno da dire su questo.
Ri: JMP trova RHo appena provato a utilizzare una connessione ma non è andata meglio.
Non ho mai incontrato questa situazione prima. Ho sempre inviato ciò di cui avevo bisogno a R, eseguito script R, restituito ciò che volevo e sono andato avanti in JMP.
Non sono convinto che non sia possibile. Ti consiglio di contattare il supporto tecnico JMP (support@jmp.com) e chiedere aiuto.
Ri: JMP trova RHmm, forse quello che volevo fare non funzionerà in questo caso?
Avevo un data.frame che era già in R Global Environment (io/altre persone ci avevano lavorato in R) e volevo inserirlo in JMP. Tuttavia, dalla mia comprensione della nostra conversazione, avrei bisogno di eseguire l'intero script R nella finestra di dialogo Script JMP affinché JMP "veda" il data.frame. È corretto?
O forse c'è un altro passaggio che ho perso qui. Se ho già creato un data.frame in R (e ora è nell'ambiente globale R), non è ancora visibile a JMP. Ma può diventare visibile a JMP? In R, ho eseguito il seguente comando:
test1 <- data.frame("x"=c(1,2,3,4),"y"=c(5,6,7,8))Quindi ora "test1" è nell'ambiente R Global. Ma per qualche motivo JMP non riesce ancora a "vederlo"? Forse c'è qualcosa che posso fare per rendere questo data.frame visibile a JMP senza dover eseguire nuovamente lo script R tramite la finestra di dialogo Script JMP?
Ri: JMP trova RCome si crea il frame di dati in R? Perché pensi che esista in R quando JMP si connette ad esso?
Ri: JMP trova RSì, penso che tu debba inviare il codice R per rendere attivo il data frame nella sessione durante la connessione con JMP. Questo esempio crea un frame di dati 'da zero' e lo memorizza nella variabile d. La chiamata R Get() può richiederlo perché ora esiste nell'area di lavoro R. Potresti anche aprire un file o ottenere un frame di dati come risultato della modellazione in altri casi, ad esempio. Il frame di dati non esiste in R a meno che non si invii il codice per farlo in un modo o nell'altro.
Names Default to Here( 1 );
R Init();
R Submit(
"L3 <- LETTERS[1:3]
d <- data.frame(cbind(x=1, y=1:15), Group=sample(L3, 15, repl=TRUE))"
);
dt = R Get( d ) << New Data View;
R Term();Ri: JMP trova RHmm, forse il mio data.frame in R non è disponibile per l'accesso a JMP? Non sono sicuro del perché, però. Quando ho eseguito uno script di esempio da JMP, è stato in grado di accedere a un dataframe.
R Init();
R Submit(
"
L3 <- LETTERS[1:3]
d <- data.frame(cbind(x=1, y=1:15), Group=sample(L3, 15, repl=TRUE))
"
);
R Get( d ) << NewDataView;
R Term();
Quando creo un dataframe in R, tuttavia, sembra che JMP non possa accedervi. Il mio script R è il seguente:
test1 <- data.frame("x"=c(1,2,3,4),"y"=c(5,6,7,8))
Il data.frame risultante è archiviato in R "Global Environment", ma quando provo ad accedervi con R Get(test1), non sembra riconoscerlo.
Ri: JMP trova RPotrebbe essere necessario eseguire uno script R per assicurarsi che il frame di dati sia disponibile quando si chiama R Get(). Il codice di esempio per R Get() apre una tabella di dati JMP denominata Big Class, la invia a R, quindi la restituisce a JMP. L'invio a R lo ha reso un frame di dati attivo. Cosa stai facendo per rendere attivo il frame di dati in R?
Ecco un altro esempio che potrebbe essere d'aiuto, in cui uno script R viene eseguito da JMP.
Names Default To Here( 1 );
R Init();
R Submit(
"x <- rnorm(1000)
hx <- hist(x, breaks=100, plot=FALSE)
plot(hx, col=ifelse(abs(hx$breaks) < 1.669, 4, 2))
x <- rnorm (100)
y <- x**2 + rnorm (100)
summary(y)"
);
Wait( 3 );
R Term();
Potresti aver bisogno di qualcosa come questo esempio per essere sicuro che il frame di dati R sia disponibile.
Ri: JMP trova REcco un breve esempio tratto da Guida > Indice degli script che potrebbe aiutarti a iniziare:
Names Default to Here( 1 );
R Init();
x1 = [1, 2, 3];
R Send( x1 );
x2 = R Get( x1 );
Show( x1, x2 );
R Term();
Potrei averti indirizzato nella direzione sbagliata con R Connetti() .
Ri: JMP trova RCosa hai memorizzato nella variabile denominata prova1 ?
Ri: JMP trova RGrazie per i tuoi suggerimenti, Mark e Jim. Ho dato un'occhiata di nuovo alla Guida agli script e, sfortunatamente, sono ancora confuso. Ho eseguito lo script "Test Your Setup" fornito nella Guida agli script e sembra funzionare correttamente (quindi la mia preoccupazione che JMP non sia stato in grado di trovare R sembra infondata). Tuttavia, quando provo a eseguire il seguente script per estrarre un dataframe di test dall'ambiente R (che ho chiamato "test1").
R Connect();
test1 = R Get(test1);
Ottengo il seguente output dal registro:
TKIntRJMP.R versione 5.05
Avviso: errore in eval(expr, p): oggetto 'test1' non trovato
Sconosciuto
Non sono davvero sicuro di come risolvere questo problema. Non sono riuscito a trovare una soluzione nella Guida agli script per questo problema. Forse la mia comprensione di questo non è corretta? La mia comprensione era che il comando R Get() avrebbe estratto un oggetto da R e lo avrebbe restituito in JMP. Quindi, se avessi un dataframe creato nell'ambiente R, verrebbe inserito in JMP come datatable.
Grazie per il tuo consiglio!
Ri: JMP trova RSono d'accordo con Jim. Ci sono molte informazioni nella documentazione che ti faranno risparmiare molta confusione e perdere tempo. Molti degli esempi forniscono un buon punto di partenza per i propri script.
Detto questo, usare R con JMP non è difficile. Devi prima chiamare il R Connetti() funzione per avviare R e stabilire una connessione. Le altre funzioni R, come R Ottieni() , quindi lavorare tramite questa connessione.
Ri: JMP trova RLa prima cosa da fare è leggere la sezione "Lavorare con R" nella sezione Guida agli script, Estensione di JMP
Aiuto==>Libri==>Guida agli script