こんにちは、みんな、
単に文字列をリストとして取得しようとしています。列に重複したエントリがあり、重複していない行のみを返す関数が必要です。 「行列として取得」関数と「列として取得」関数を使用しようとしましたが、別のエラーが発生し続けました。
助けていただければ幸いです。ありがとう。
私が知っているこれを行う最も簡単な方法は、連想配列を使用することです。
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);