목록에서 고유한 항목을 가져오시겠습니까?목록에서 고유한 항목을 얻는 간단한 방법이 있습니까? (열을 그룹화하여 해당 열에서 고유한 항목을 얻기 위해 표 요약과 유사)
결과적으로는 중복되는 항목을 제거하고 고유한 항목만 포함된 축소된 목록이 될 수도 있고, 서로 다른 항목의 양을 나타낸 숫자만 될 수도 있습니다.
스크립트를 작성하기 전에 간단한 방법/함수/공식이 있는지 확인하고 싶습니다. JMP 도움말에서 아무것도 찾을 수 없었습니다...
자동화 및 스크립팅기본 데이터 분석 및 모델링데이터 블렌딩 및 정리데이터 탐색 및 시각화Re: 목록에서 고유한 항목을 가져오는 방법?한 가지 방법은 연관 배열을 사용하는 것입니다
names default to here(1);
// Create a list
dt=
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
genderList = :sex << get values;
// Get the distinct list of values
distinctList = (associative array(genderList))<<GET keys=""></GET>
{"F", "M"}
Re: 목록에서 고유한 항목을 가져오는 방법?굉장하네요, 이게 효과가 있네요! 정말 고맙습니다, 짐!
Re: 목록에서 고유한 항목을 가져오는 방법?연관 배열을 통한 접근 방식은 스크립트로 작성하거나 기억하거나 적용하기 쉽습니다.
mio개의 값 목록에 대해 고유한 값을 가져오려는 경우 주의하세요.
해결 방법:
값을 표에 저장하고, 위에서 언급한 요약이나 표/요약을 사용하세요.
어쩌면 미래에는 JMP에서 고유한 값을 계산하는 직접적이고 빠른 방법이 생길지도 모르죠?
저는 이 희망을 N열 카테고리의 하위 주제로 추가했습니다. 그리고 다른 모든 것들도...
이 아이디어를 지지하고 투표해주세요 : )
Re: 목록에서 고유한 항목을 가져오는 방법?사실, 제 문제는 테이블의 문자열 시퀀스에서 고유한 항목을 감지하고 싶다는 것입니다. 여기에 예를 첨부했습니다. 원래는 "sequence" 열이 있었습니다(임의의 구분 기호, 여기서 구분 기호는 "|"). 지금 제가 실제로 해결하고 싶은 것은 이것을 목록으로 변환한 다음 연관 배열에 Jim의 솔루션을 적용하는 것입니다. 하지만 고유한 값을 계산하는 쉬운 방법이 있다면 매우 감사하겠습니다...
Re: 목록에서 고유한 항목을 가져오는 방법?오, 여기가 연관 배열의 단점이군요!
마지막에 항목을 세어보세요. 이게 필요한 건가요? 아니면 중간 단계(고유 항목 목록 포함)도 필요한 건가요?
고유한 값을 처리하는 빠르고 쉬운 방법 - JMP 개발자들이 이 주제를 정말 유용한 것으로 인식하기를 바랍니다. 다음 릴리스에서 구현되도록...
Re: 목록에서 고유한 항목을 가져오는 방법?현재 애플리케이션에서는 값 자체가 아닌 고유한 항목의 수만 필요합니다. 하지만 목록을 고유한 항목으로 줄이는 것이 도움이 될 수 있는 상황이 훨씬 더 많을 수 있다고 생각합니다.
네, 다음 릴리스에서 구현되기를 바랍니다.:)
Re: 목록에서 고유한 항목을 가져오는 방법?속도에 관해서는 연관 배열 부분을 간단한 것으로 바꾸면 중간 단계가 더 빨라지는지 방금 확인했습니다.
If(not(contains(), insert into(mylist ... - 아무런 이점이 없음.
New Column( "unique entries",
Expression,
Formula(
Local( {nr = N Rows( Current Data Table() )},
If( Row() == nr,
Caption( "done" )
);
Match( :variant,
1, Associative Array( :list from sequence[Empty()] ) << get keys,
2,
myList = {};
For Each( {entry}, :list from sequence,
If( !Contains( myList, entry ),
Insert Into( myList, entry )
)
);
myList;
);
)
)
)
100만 행의 경우 다음과 같습니다.

그래서 연관 배열의 경우 1:0입니다. 더 나은 아이디어가 있나요?
[Another 2+2 seconds are needed for the columns :list from sequence and :N개의 고유 항목.
So, no real benefit to get into the ms regime for the intermediate step]
Re: 목록에서 고유한 항목을 가져오는 방법?- 쉬운
- 빠른
그리고:
- 욕심이 없다
방금 1,000만 줄로 타이밍을 확인하려고 했는데 막혔습니다.
JMP가 충돌하고 마지막 60초가 다음과 같이 표시됩니다.

Re: 목록에서 고유한 항목을 가져오는 방법?...그래서 저는 500만 줄로 시도해 보았고, 흥미로운 통찰력을 얻었습니다.

테이블을 저장하고 JMP를 닫은 다음 다시 테이블을 로드하면 메모리 사용량이 값을 계산하는 데 필요한 것보다 훨씬 적습니다!
처음에는 연관 배열 때문이라고 생각했지만 mylist를 사용해도 똑같은 일이 발생합니다.
열 수식이 내 메모리를 잠식하는 것을 어떻게 막을 수 있나요?
TS-00177710
Re: 목록에서 고유한 항목을 가져오는 방법?참고로 제가 얼마 전에 쓴 고유 값 함수는 다음과 같습니다.
/*
Function Name: get_unique_values
Description: Find the unique values in a list. Uses an associative array
Arguments:
in_list List to get unique values for
*/
Get_unique_values = Function( {in_list},
{Default Local},
tmp = [=> 0];
Insert Into( tmp, in_list );
tmp << get keys;
);
샘플 통화:
a = {1, 1, 1, 2, 3, 3, 3};
b = get_unique_values(a);
print(b);
c = {"Hello", "World", "John", "Ed", "John", "World"};
d = get_unique_values(c);
print(d);
산출:
{1, 2, 3}
{"Ed", "Hello", "John", "World"}Re: 목록에서 고유한 항목을 가져오는 방법?얼마나 복잡한 시퀀스가 있나요(단일 문자인가요?)? 잠재적으로 무엇이 될 수 있는지 미리 알고 있나요? 그리고 시퀀스는 얼마나 길 수 있나요?
항목 수만 계산하려면 N개 항목 + 연관 배열 및 단어 조합을 사용할 수 있습니다.
N Items(Associative Array(Words(:sequence, "|")))
부분적으로 관련됨 JMP 객체(열, 목록)에서 고유한 값을 가져오는 빠른 방법 제공, 아마도 Python의 Set과 유사할 수 있음
Re: 목록에서 고유한 항목을 가져오는 방법?
@jthi wrote:N Items(Associative Array(Words(:sequence, "|")))
내가 틀렸을 수도 있지만 이 제안은 @katharina_l이 게시한 것과 매우 유사해 보입니다.
https://community.jmp.com/t5/Discussions/Get-distinct-entries-from-a-list/mp/820530/highlight/true#M99918 ? ?
Re: 목록에서 고유한 항목을 가져오는 방법?감사합니다 Holger 그리고 네, 확실히 제가 찾던 함수처럼 보입니다. JMP에서 표준 함수로 구현할 수 있다면 좋을 텐데요.
Re: 목록에서 고유한 항목을 가져오는 방법?N열 카테고리는 JMP19와 함께 제공됩니다.
독특한 아이템을 얻으 려면 별도의 소원이 필요합니다. 즉, 쿠도스를 기다리는 것입니다.