차트의 열 이름 분석<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />이 질문은 차트 열 이름을 구문 분석하는 방법에 대한 다른 게시물과 유사합니다.
내 Y 열이 col 목록 상자의 사용자 선택에 의해 결정되는 간단한 막 대형 차트를 만들고 싶습니다.
parse 및 expr을 사용하여 내 사용자 선택을 차트 문에 입력하는 방법을 알아낼 수 없습니다.
다른 유형의 차트 (예 : 오버레이)의 경우 열 목록을 사용하여이 작업을 수행 할 수 있었지만
차트로 그렇게하는 것 같습니다.
이 코드는 Ycols가 알려지면 그래프를 생성합니다.
dt = 열기 ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp");
차트 ( 엑스 ( : 이름 )
,
와이 ( : 신장 , : 무게 )
);
사용자가 YCols를 선택하면 다음과 같은 작업을 수행해야합니다.
Chart1Expr = expr (차트
X (: 이름),
Y (ycols)
));
replaceycols = expr (: height, : weight) <- 이것은 효과가 없지만 필요한 것과 같습니다. newchartexpr = substitute (이름 expr (Chart1Expr), expr (ycols), expr (replaceycols)));
newchartexpr;
차트의 열 이름 분석고맙습니다! 나는 그것이 목록을 먹이려고했을 때 Eval 단계를 놓쳤다.
차트의 열 이름 분석Y ()는 열 이름이 문자열로 표시되는 경우에도 목록을 인수로 허용 할 수 있습니다. 이 예제는 JMP9에서 작동합니다.
dt = 열다 ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
ycols = { "신장" , "무게" } ;
차트 ( 엑스 ( : 섹스 ) , 와이 ( 평가 ( ycols ) ) ) ;
그러나 통계를 지정해야하는 경우 조금 더 복잡해집니다. 한 가지 방법은 아래 예제 에서처럼 사용자가 생성 한 목록을 반복하여 표현식 목록을 만드는 것입니다.
dt = 열다 ( "$ ENGLISH_SAMPLE_DATA / Big Class.jmp" ) ;
ycols = {} ;
에 대한 ( 나는 = 1 , 나는 <= N 개 항목 ( ylist ) , 나는 ++,
에 집어 넣다 ( ycols , 파싱 ( "평균(:" || ylist [ 나는 ] || ")" ) )
) ;
차트 ( 엑스 ( : 섹스 ) , 와이 ( 평가 ( ycols ) ) ) ;