Senden Sie JMP-Spaltennamen an RHallo zusammen,
Bin ich der einzige, der Probleme mit der Funktion R JMP name to R name in JSL hat? Es funktioniert gut für einfache Namen, aber sobald Sie in JMP etwas ungewöhnliche Namen haben (z. B. mit einer Klammer oder einem griechischen Symbol), stimmt der zurückgegebene Name nicht mit dem Namen überein, der im Ergebnis des R-Datenrahmens gespeichert ist vom Befehl R send (Datentabelle). Gibt es eine einfache Lösung für dieses Problem, wenn Sie die Namen der JMP-Spalten in etwas Einfacheres umbenennen?
Vielen Dank, Yves
Re: Senden Sie JMP-Spaltennamen an RDanke für deine Lösung. In der Zwischenzeit habe ich einen anderen Weg eingeschlagen, um das Problem mit assoziativen Arrays zu lösen. Im Grunde sende ich die Datentabelle an R und rufe die Spaltennamen ab, die R beschlossen hat, sie in JMP zurückzugeben. Ich erstelle dann ein assoziatives Array zwischen dem JMP-Namen und den R-Namen. So etwas wie:
R Senden (dt);
R Senden ( "Rnames <-names (dt)" );
RnamesinJMP = R erhalten (Rnames);
aa = Assoziatives Array (JMPnames, RnamesinJMP);
Ich kann dann jeden JMP-Spaltennamen mit der Anweisung << Get value (JMPname) in sein R-Äquivalent übersetzen
Nochmals vielen Dank, Yves
Re: Senden Sie JMP-Spaltennamen an RDu bist nicht die einzige; Hier ist eine mögliche Problemumgehung:
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();