정렬되지 않은 데이터에 대한 중복 찾기 및 식별JMP를 처음 접했기 때문에 수식 사용 방법에 대한 지식은 매우 제한적입니다.
값 (문자) 열이 있고 다른 열에서 중복으로 식별하려면 어떤 수식을 사용해야합니까? (내 데이터에는 이미 다른 열의 값으로 정렬 된 10 개의 열이 있습니다.)
과거에는 아래 공식을 사용했습니다 (중복이 필요한 데이터가 알파벳순으로 정렬 된 경우).
만약(
행 () == 1, 1,
: Column1! = Lag (: Column1), 1,
0
)
들어오는 방식 이외의 다른 방식으로 정렬 된 데이터를 표시 할 수 없기 때문에 중복을 표시하는 방법에 대해 다소 손실이 있습니다.
모든 도움을 주시면 감사하겠습니다.
데이터 테이블Re : 정렬되지 않은 데이터에 대한 중복 찾기 및 식별
이 라인이 도움이 될 수 있습니다
dt = 현재 데이터 테이블 ();
dt << 중복 행 선택 (Match (: column_1, : column_2, : column_3));
이렇게하면 1 ~ 3 열의 상위 조합에서 고유하지 않은 행이 선택됩니다.
선택 항목을 사용하여 이제 삭제, 숨기기 및 제외, 추가 열 채우기 또는 원하는 작업을 수행 할 수 있습니다.
r_select = dt << 행 선택 (dt << 선택된 행 가져 오기); // 이것은 행 번호의 벡터를 얻습니다.
r_select << 행 삭제;
또는
r_select << 숨기기 및 제외;
Re : 정렬되지 않은 데이터에 대한 중복 찾기 및 식별응답 해 주셔서 감사합니다.
내 자신을 잘 설명하지 못한 것 같아요. 내가 원하는 것은 특정 값이 중복되었는지 여부를 나타내는 도우미 열입니다. "1"은 모든 중복을 나타내고 "0"은 중복이 없음을 나타냅니다. 중복을 숨기거나 삭제하고 싶지 않습니다.
Re : 정렬되지 않은 데이터에 대한 중복 찾기 및 식별다음은 스크립팅으로이 작업을 수행하는 적어도 두 가지 방법입니다.
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(7),
Compress File When Saved(1),
New Column("Column 1",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([1, 1, 2, 3, 2, 5, 1]),
Set Display Width(60)
)
);
dt << New column("Dublicate_formula", Numeric, <<FORMULA> 1, 1,0))
);
dt << Select duplicate rows(Match(:column 1));
dubRows = dt << Get Selected Rows;
dt << New Column("Dublicates", Numeric, Nominal);
Column(dt, "Dublicates")[dubRows] = 1;
Column(dt, "Dublicates")[dt << Get Rows Where(IsMissing(:Dublicates))] = 0;</FORMULA>스크립팅 없이도이 작업을 수행 할 수 있습니다.
- 관심있는 열을 선택하십시오.
- 행 메뉴에서 : 행 선택-> 행 중복 선택
- 행 메뉴 : 행 선택-> 열에서 이름 선택
- 이름 선택, 1로 선택 및 0으로 선택 취소
Re : 정렬되지 않은 데이터에 대한 중복 찾기 및 식별빅 클래스 데이터 테이블을 예로 사용하는 아래 공식을 사용하여 공식 열로도 수행 할 수 있습니다.
If( Row() == 1,
Current Data Table() << select duplicate rows(
Match( :age, :sex, Empty() )
)
);
If( Selected( Row State( Row() ) ),
"Group 1",
"Group 2"
);
Re : 정렬되지 않은 데이터에 대한 중복 찾기 및 식별대단히 감사합니다. 스크립팅을 사용하지 않고 마킹 할 수있었습니다.
당신의 도움을 주셔서 감사합니다!
Re: 정렬되지 않은 데이터의 중복 찾기 및 식별다음은 열 수식을 사용하는 또 다른 예입니다.
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// Create a column that indicates duplicate names (there are two "Robert")
dt << New Column( "Duplicate", Formula( If( Col Number( Row(), :name ) > 1, 1, 0 ) ) );