그룹화를 사용한 문자열 데이터의 계산 모드저는 B열을 기준으로 그룹화하여 A열의 최빈값을 계산하려고 시도했습니다.Col Mode(:A,:B)해당 함수를 사용했는데, A열에 문자열 데이터가 포함되어 있어서 아무 값도 출력되지 않았습니다. 그 후에야 그 이유를 알게 되었습니다.Mode(:A)문자열 데이터의 최빈값도 구할 수 있습니다. 문제는 그룹화를 어떻게 해야 할지 모르겠다는 것입니다. 어떤 공식을 사용해야 할까요?
자동화 및 스크립팅제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련공식이 필요하신가요, 아니면 결과만 필요하신가요?
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련답변해주셔서 감사합니다, jthi님.
수식이 필요합니다. 그 수식을 데이터 표에 적고 싶습니다.
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련가장 쉬운 방법은 값을 숫자로 변환하는 새 열을 만드는 것입니다(Recode -> Labels to Code 기능을 사용하면 됩니다). 그런 다음 해당 열을 계산에 사용하고, Copy Column Properties 기능을 사용하여 레이블 값 열의 속성을 새 열로 옮길 수 있습니다.
또한, 문자열 열을 지원하는 Col Mode() 함수를 위시리스트 항목으로 추가해 주세요.
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련그러니까 추가적인 단계가 필요하다는 말씀이시군요. 이해했습니다. Col Mode() 함수가 문자열 열을 지원하도록 요청드립니다. 감사합니다.
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련여기에서 위시리스트 항목을 만들 수 있습니다. 예를 들어, 해당 추가 단계를 처리하는 워크플로 또는 스크립트를 만들 수 있습니다.
공식을 사용해도 가능할 것 같지만, 얼마나 효율적일지는 모르겠습니다. 이 공식을 사용하면 나이 대비 성별의 최빈값을 얻을 수 있을 겁니다.
As Constant(
score_indices = Associative Array(:sex) << get keys
);
score_indices[Col Mode(Col Score(:sex), :age)]

제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련거기에 위시리스트를 올리겠습니다. 감사합니다.
"S" 열은 어떻게 만드셨나요? 그 아이디어가 궁금합니다!
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련S에 대한 공식을 제공했습니다(JMP19 필요).
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련// データテーブルを取得
dt = Current Data Table();
// B列のユニークな値を取得(グループ化のため)
unique_groups = As List(dt:B<< Get As Matrix);
// 新しい列 "mother" を作成
dt << New Column("mother", Character, "Nominal");
// 各グループごとに処理を実行
For(i = 1, i <= N Items(unique_groups), i++,
// 現在のグループをフィルタリング
current_group = unique_groups[i];
Show(current_group);
subset_rows = As List(dt << Get Rows Where(:B == current_group));
Show(subset_rows);
Show(Type(subset_rows));
// A列のキーを取得
score_indices = dt:A[subset_rows] << Get As List;
Show(score_indices);
// グループ内の "mother" 列を更新
dt:mother[subset_rows] = If(
Is Missing(score_indices[Col Mode(Col Score(dt:A[subset_rows]))]),
score_indices[2],
score_indices[Col Mode(Col Score(dt:A[subset_rows]))]
);
);
B열의 독특한 값을 취득해, 이것을 이용해 그룹 마다 처리를 실시하고 있습니다.
그러나 이것은 오류를 출력합니다. 보내기 기능에 스크립트 가능한 객체를 입력해야 합니다.
뭔가 지식이 있으면 가르쳐 주셨으면 합니다.
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련// データテーブルを取得
dt = Current Data Table();
// B列のユニークな値を取得(グループ化のため)
unique_groups = As List(dt:B<< Get As Matrix);
// 新しい列 "mother" を作成
dt << New Column("mother", Character, "Nominal");
// 各グループごとに処理を実行
For(i = 1, i <= N Items(unique_groups), i++,
// 現在のグループをフィルタリング
current_group = unique_groups[i];
Show(current_group);
subset_rows = As List(dt << Get Rows Where(:B == current_group));
Show(subset_rows);
Show(Type(subset_rows));
// A列のキーを取得
score_indices = Associative Array(Set Unique(dt:A[subset_rows])); Show(score_indices);
// グループ内の "mother" 列を更新
dt:mother[subset_rows] = If(
Is Missing(score_indices[Col Mode(Col Score(dt:A[subset_rows]))]),
score_indices[2],
score_indices[Col Mode(Col Score(dt:A[subset_rows]))]
);
);
이제 A 열의 키를 얻을 때까지 해결할 수있었습니다.
jthi 씨, 시끄 럽습니다.
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련// データテーブルを取得
dt = Current Data Table();
process_nm = "A";
// B列のユニークな値を取得(グループ化のため)
unique_groups = dt:B << Get values;
// 新しい列 "mother" を作成
dt << New Column("mother", Character, "Nominal");
// 各グループごとに処理を実行
For(i = 1, i <= N Items(unique_groups), i++,
// 現在のグループをフィルタリング
current_group = unique_groups[i];
subset_rows = dt << Get Rows Where(:B == current_group);
// A列のキーを取得
score_indices = Associative Array(Set Unique(Column(process_nm)[subset_rows])) << get keys;
// グループ内の "mother" 列を更新
dt:mother[subset_rows] = Mode(Column(process_nm)[subset_rows]);
);
그룹화를 사용한 문자열 데이터의 계산 모드
· Col Mode ()는 문자열을 지원하지 않습니다.
· Mode ()는 문자열에 해당합니다.
· Mode ()는 그룹화를 지원하지 않습니다.
【대책】
1. 문자열을 숫자처럼 취급하고 Col Mode()를 사용합니다.
2. 미리 행을 좁혀 Mode()를 사용한다.
제목: 그룹화를 사용한 문자열 데이터의 모드 계산 관련이와 비슷한 소망:
:접힌_손: 요약 및 표 작성: 문자 열에 대한 집계 옵션 추가
해당 기능이 구현되면 테이블/요약 기능을 사용하여 이 작업을 수행할 수 있습니다.