大家好,
我只是想获取一个字符列作为列表。该列有重复的条目,我想要一个仅返回不重复的行的函数。我尝试使用“获取为矩阵”函数和“作为列”函数,但我不断收到不同的错误。
任何帮助表示赞赏。谢谢。
我知道最简单的方法是使用关联数组
names default to here(1);
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
uniqueValues = associative array(dt:sex)<<GET keys=""></GET>
有几个不同的选项各有优缺点。有些比较慢/快,有些需要编写更多代码……我通常使用 Summarize()
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
// Use associative array + get keys (slowest)
uniqnames1 = Associative Array(Column(dt, "name")) << get keys;
// Use summarize (will convert numeric values to characters)
Summarize(dt, uniqnames2 = By(:name));
// Use summary + data table subscripting (or get values)
dt_summary = dt << Summary(
Group(:name),
Freq("None"),
Weight("None"),
Link to original data table(0),
private
);
uniqnames3 = dt_summary[0, "name"];
uniqnames4 = Column(dt_summary, "name") << get values;
Close(dt_summary, no save);
Show(uniqnames1, uniqnames2, uniqnames3, uniqnames4);