将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();