안녕하세요 여러분,
저는 단순히 문자 열을 목록으로 얻으려고 합니다. 열에 중복된 항목이 있으며 중복되지 않은 행만 반환하는 함수를 원합니다. "열로 가져오기" 기능과 함께 "행렬로 가져오기" 기능을 사용해 보았으나 계속해서 다른 오류가 발생했습니다.
도움을 주시면 감사하겠습니다. 감사해요.
내가 아는 가장 쉬운 방법은 연관 배열을 사용하는 것입니다.
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);