열 목록을 기반으로 데이터 하위 집합 만들기안녕하세요,
많은 데이터 열이 포함된 대용량 데이터 파일이 있습니다. 열 목록을 기반으로 원시 데이터의 부분 집합을 자동화하는 방법을 만들고 싶습니다.
이 테이블이 내 원시 데이터인 경우
| 1 | 2 | 삼 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| # | # | # | # | # | # | # | # | # | # |
| # | # | # | # | # | # | # | # | # | # |
하위 집합을 만들고 싶은 열 목록은 [1,4,6,9]일 수 있습니다.
다음과 같은 새 테이블을 생성하고 싶습니다.
어떤 열을 가져올지 하드코딩할 수 없는 이유는 목록이 너무 자주 업데이트되므로 이 문제를 좀 더 직접적으로 처리할 수 있는 방법을 원하기 때문입니다.
더 많은 정보를 제공해야 한다면 알려주세요.
감사해요!
Re: 열 목록을 기반으로 데이터 하위 집합 만들기eval(evalexpr(
SubTable3[i] = Tables[i] << subset( selected rows(1), columns(
As Column(expr(MT_Col_Names[1])), As Column(expr(MT_Col_Names[2])) ), Invisible);
));
Re: 열 목록을 기반으로 데이터 하위 집합 만들기어쩌면 시도해 볼 수도 있습니다
eval(evalexpr((
SubTable3[i] = Tables[i] << subset( selected rows(1), columns(
As Column(expr(MT_Col_Names[1])), As Column(expr(MT_Col_Names[2])) ), Invisible);
));
))
Re: 열 목록을 기반으로 데이터 하위 집합 만들기MT_Col_Names에 있는 모든 항목을 열거하거나 Column()에 래핑할 필요는 없다고 생각합니다."MT_Col_Names"에는 어떤 유형의 데이터가 있습니까?
다음은 유지하려는 열의 이름을 나타내는 문자열 목록이 포함된 작업 예제입니다.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << Select Rows({1,2,3});
sub_cols = {"name", "age", "sex"}; //same role as MT_Col_Names
dt2 = dt << Subset(selected rows(1), columns(sub_cols));Re: 열 목록을 기반으로 데이터 하위 집합 만들기안녕하세요,
다음을 사용할 때 이것은 작동하지 않습니다.
SubTable3[i] = Tables[i] << subset( selected rows(1), columns(Column(MT_Col_Names[1]), Column(MT_Col_Names[2]), Column(MT_Col_Names[3]), Column(MT_Col_Names[4]), Column(MT_Col_Names[5]), Column(MT_Col_Names[6])), Invisible);
오류는 다음과 같습니다

그리고 내가 바꾸면 ' 열' 에게 '열로' , 작동하지만(오류 없음) 모든 열이 표시됩니다...
도움을 주셔서 감사합니다.
니르
Re: 열 목록을 기반으로 데이터 하위 집합 만들기이것은 아마도 정말 쉽지만 귀하의 목록이 혼란 스럽습니다.어떤 열이 변경될 것이기 때문에 사용할 열을 하드코딩할 수 없다고 말했지만, 목록이 업데이트될 때 사용할 열을 궁극적으로 열거할 필요가 있지 않습니까?그렇지 않으면 해당 목록은 어디에서 왔습니까? 사용할 모든 열을 열거하는 변수가 스크립트 상단에 바로 있으면 유지 관리가 충분히 쉽습니까?그렇다면 이를 수행하는 간단한 스크립트는 다음과 같습니다.
//list of columns
subset_cols = {:Name("1"), :Name("4"), :Name("6"), :Name("9")};
dt = Current Data Table();
dt << Subset( All rows, columns( subset_cols ) )