열 이름 목록을 기준으로 테이블 분할JMP 커뮤니티 여러분, 안녕하세요. 이 문제를 해결하는 데 도움을 주시기 바랍니다.
나는 사용자가 주어진(입력할) 계수를 사용하여 여러 샘플 농도에 대해 1x, 2x 및/또는 3x SD 값을 계산할 수 있는 스크립트를 만들었습니다. 1x, 2x 및/또는 3x SD 값은 모두 3개의 확인란을 통해 선택할 수 있습니다. 이 첫 번째 부분은 완벽하게 작동합니다.
선택한 확인란 수에 따라 결과 데이터 테이블에는 새 데이터 테이블로 분할하려는 다양한 양의 열이 제공됩니다.
존재하는 모든 SD 열(항상 열 3부터 시작)을 기반으로 데이터 테이블을 분할하는 두 번째 스크립트를 작성하려고 시도했지만 성공하지 못했습니다. 이것은 지금까지 내 스크립트입니다.
Names Default To Here( 1 );
dt1 = Data Table( "SD Calculation" );
//Get list of Column names
ColList = dt1 << Get Column Names();
//Split dt1 based on ColList
dt2 = Data Table( "SD Calculation" ) << Split(
Split By( :nomRP ),
Split( ColList[3] ),
Remaining Columns( Drop All ),
Sort by Column Property
);
결과 분할 테이블은 다음과 같으며 대부분의 데이터가 누락되었습니다.

다음과 같습니다. 모든 열 이름을 지정해야만 이 작업을 수행할 수 있지만 모든 열이 각 테이블에 표시되는 것은 아닙니다(사용자 선택에 따라 다름).

모든 SD 계산을 선택하면(5개 샘플 농도에 대해 ±1-3 SD) 30개의 열이 있어야 합니다.
내 스크립트의 목표:
nomRP 값은 50, 71, 100, 141 및 200이며 각 nomRP 값에 대해 1-3x SD 값을 계산할 수 있습니다. 계산된 모든 결과는 새 데이터 테이블로 분할되어야 합니다. 이러한 데이터를 사용하여 계산된 SD 값을 기반으로 범위를 표시하는 그래프 빌더에 그림을 작성하고 싶습니다.
감사합니다.
핌.
-편집: "SD 계산" 테이블이 추가되었습니다.
데이터 혼합 및 정리Re: 열 이름 목록을 기반으로 테이블 분할이 주제에 대한 질문/답변을 제공해 주신 Pim/Hadley에게 많은 감사를 드립니다!
나는 이것이 오래된 게시물이라는 것을 알고 있지만 이후에 올 사람을 위해 부스러기를 남기고 싶었습니다.
나는 위에 게시된 Hadley의 솔루션을 따라 오늘 이와 유사한 작업을 수행하는 동시에 중첩된 Eval(Eval Expr(Expr())) 접근 방식(아직 후자에 대한 작업 중...).
조금 놀아본 결과 다음과 같은 사실을 발견했습니다.
dt2 = Data Table( "SD Calculation" ) << Split(
Split By( :nomRP ),
Split(Eval Expr(ColList)),
Remaining Columns( Drop All ),
Sort by Column Property
);Hadley의 솔루션과 동일한 결과를 제공합니다.
Eval(
Eval Expr(
dt2 = Data Table( "SD Calculation" ) << Split(
Split By( :nomRP ),
Split(expr(ColList)),
Remaining Columns( Drop All ),
Sort by Column Property
);
)
);
Re: 열 이름 목록을 기반으로 테이블 분할해들리, 이것이 바로 내가 찾던 것이었습니다.
정말 감사합니다. 또한 게시물을 공유해 주셔서 감사합니다. 평가(평가 Expr(Expr())). 이는 향후 스크립팅 모험에 도움이 될 것입니다!
Re: 열 이름 목록을 기반으로 테이블 분할안녕,
나는 이것이 Eval(Eval Expr(Expr()))이 도움이 될 때 중 하나라고 생각합니다.아래 코드를 살펴보고 원하는 대로 작동하는지 확인하세요.또한 여기 게시물이 있어요 이 주제에서는 이러한 유형의 방법을 설명합니다.
Names Default to Here(1);
dt1=Data Table("SD Calculation");
//Get list of Column names
ColList=dt1<<GET column="" names=""></GET>