將JMP列名發送到R大家好,
我是唯一一個在JSL中有R JMP名稱到R名稱功能的問題嗎?它適用於簡單名稱,但只要你在JMP中有一些不尋常的名稱(例如帶括號或希臘符號的東西),返回的名稱與存儲在R數據幀中的名稱完全不同來自R send(數據表)命令。除了將JMP列名重命名為更簡單的問題之外,是否有任何簡單的解決方案?
非常感謝,伊夫
Re:將JMP列名發送給R謝謝你的解決方案。與此同時,我提出了一條不同的路線來解決使用關聯數組的問題。基本上,我將數據表發送到R並檢索R決定將它們返回JMP的任何列名稱。然後我在JMP名稱和R名稱之間構建一個關聯數組。就像是:
R發送 (dt);
R提交 ( “Rnames <-names(DT)” );
RnamesinJMP = R Get (Rnames);
aa = 關聯數組 (JMPnames,RnamesinJMP);
然後,我可以使用<< Get value(JMPname)語句將任何JMP列名轉換為其R等效項
再次謝謝,伊夫
Re:將JMP列名發送給R你不是唯一的一個;這是一個可能的解決方法:
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();