Invia nomi di colonne JMP a RCiao a tutti,
Sono l'unico ad avere problemi con il nome di JMP R in R name in JSL? Funziona bene per i nomi semplici ma non appena hai nomi un po 'insoliti in JMP (qualcosa con una parentesi o un simbolo greco, ad esempio), il nome che viene restituito non è affatto uguale al nome memorizzato nel frameframe R risultante dal comando R send (tabella dati). C'è qualche soluzione facile a questo problema, a meno di rinominare i nomi delle colonne JMP con qualcosa di più semplice ??
Molte grazie, Yves
Ri: Invia nomi di colonne JMP a RGrazie per la tua soluzione. Nel frattempo, ho dato una via diversa per risolvere il problema usando array associativi. Fondamentalmente, mando la tabella dei dati su R e recuperando qualsiasi nome di colonna R ha deciso di restituirli a JMP. Quindi creo un array associativo tra il nome JMP e i nomi R. Qualcosa di simile a:
R Invia (dt);
R Invia ( "Rnames <-names (dt)" );
RnamesinJMP = R Ottieni (Rnames);
aa = Array associativo (JMPnames, RnamesinJMP);
Posso quindi tradurre qualsiasi nome di colonna JMP nel suo equivalente R con l'istruzione << Get value (JMPname)
Di nuovo, Yves
Ri: Invia nomi di colonne JMP a RNon sei l'unico; ecco una possibile soluzione:
Names default to here( 1 );
//Send sample data to R
dt = New Table( "Original",
Add Rows( 2 ),
New Column( "Hello (there)",
Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3] )
),
New Column( "╓ < Greek", Character, "Nominal", Set Values( {"a", "b", "c"} ) )
);
R Init();
R Send(dt);
//Get column names and send them to R
cn = dt << get column names( String );
R Send(cn);
//Set column names
R Submit( "colnames(dt) = cn" );
//Names might not appear to match
R Submit( "print(dt)" );
//But they should return correctly
dtr = R Get(dt) << NewDataView;
dtr << Set name("Returned");
R Term();