summarize () 및 대체가 포함 된 JMP FOR 루프<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕 모두,
나는 우연히 의문의 여지가있다. 첨부 된 데이터 테이블입니다.
기본적으로 그룹별로 "vol"열을 기준으로 평균, 표준 편차 및 개수를 계산하고 싶습니다. 그래서 나는 먼저 "Summarize ()"함수를 사용하여 다음과 같은 스크립트를 작성했습니다 :
요약 (vol_g = By (: group),
vol_m_g0 = 평균 (: vol_0),
vol_m_g1 = 평균 (: vol_1),
vol_m_g2 = 평균 (: vol_2),
vol_m_g3 = 평균 (: vol_3),
vol_m_g4 = 평균 (: vol_4),
vol_m_g5 = 평균 (: vol_5),
vol_m_g6 = 평균 (: vol_6),
vol_sd_g0 = stddev (: vol_0),
vol_sd_g1 = stddev (: vol_1),
vol_sd_g2 = stddev (: vol_2),
vol_sd_g3 = stddev (: vol_3),
vol_sd_g4 = stddev (: vol_4),
vol_sd_g5 = stddev (: vol_5),
vol_sd_g6 = stddev (: vol_6),
vol_n_g0 = 개수 (: vol_0),
vol_n_g1 = 개수 (: vol_1),
vol_n_g2 = 개수 (: vol_2),
vol_n_g3 = 개수 (: vol_3),
vol_n_g4 = 개수 (: vol_4),
vol_n_g5 = 개수 (: vol_5),
vol_n_g6 = 개수 (: vol_6)
);
하지만 너무 길어서 대신 아래의 "for"루프를 사용하고 싶습니다.
For (i = 0, i <= 6, i ++,
요약 (vol_g = By (: group),
Eval (파스 (Eval Insert) ( "vol_m_g ^ i ^ Mean (: vol_ ^ i ^)")))),
Eval (Eval Insert ( "volsd_g ^ i ^ Stddev (: vol_ ^ i ^)"))),
Eval (Eval Insert ( "vol_n_g ^ i ^ Count (: vol_ ^ i ^)")))
)
);
그러나이 "for 루프"버전은 작동하지 않습니다. 작동하도록 수정하려면 어떻게해야합니까?
고마워요 !!
제목 : Re : 요약 ()과 대체 JMP FOR 루프친애하는 MS와 이안 @ JMP , 모든 도움을 주셔서 대단히 감사합니다 !! 나는 그것을 많이 고맙다! / CH
제목 : Re : 요약 ()과 대체 JMP FOR 루프코드의 일반성 및 다음에 수행 할 작업에 따라 요약 테이블을 만드는 것이 더 편리 할 수 있습니다.
NamesDefaultToHere ( 1 ) ;
dt1 = DataTable ( "Raw_data_new" ) ;
// dt의 모든 열 목록 얻기
칼 = dt1 << GetColumnNames ( "끈" ) ;
// 요약하지 않으려는 모든 열을 삭제합니다.
에 대한 ( 기음 = NItems ( 칼 ) , 기음 > = 1 , 기음 -, 만약 ( ! 내용 ( 칼 [ 기음 ] , "vol_" ) , RemoveFrom ( 칼 , 기음 )) ) ;
// 요약 테이블 만들기
dt2 = dt1 << 개요 ( 그룹 ( : 그룹 ) , 평균 ( EvalList ( 칼 )) , StdDev ( EvalList ( 칼 )) , 엔 ( EvalList ( 칼 )))) ;
제목 : Re : 요약 ()과 대체 JMP FOR 루프전체 summarize () 표현식을 문자열로 작성하는 경우에 효과적입니다.
에 대한 ( 나는 = 0 , 나는 <= 6 , 나는 ++,
평가 ( 파싱 ( 평가 삽입 ( "Summarize (vol_g = By (: group),
vol_m_g ^ i ^ = Mean (: vol_ ^ i ^),
volsd_g ^ i ^ = Stddev (: vol_ ^ i ^),
vol_n_g ^ i ^ = Count (: vol_ ^ i ^)) "
))))
) ;