열 만들기<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />저는 JMP 초보자이며 도움이 필요합니다. 나는 20 년 동안 입원 환자를 추적하는 대형 데이터베이스를 가지고 있습니다. 환자가 "365 사망"열에 "*"표시가있는 경우 환자가 나열 될 때마다 "사망"열에 1을 넣고 싶습니다. 아래를 참조하십시오.
환자
| 365 사망률 | 죽음 |
|---|
| 1 |
| 1 |
| 1 | * | 1 |
| 2 |
|
|
| 2 |
|
|
| 2 |
|
|
| 삼 |
| 1 |
| 삼 |
| 1 |
| 삼 | * | 1 |
| 4 |
|
|
| 4 |
|
|
| 5 |
| 1 |
| 5 | * | 1 |
열 만들기도와 주셔서 감사합니다!
다시 : 열 만들기그리고 또 다른 방법 :
dtmort = 데이터 테이블 ( "사망");
dtby = dtmort << 요약 (Group (: Name ( "365 Mortality"), : Patient), 원본 데이터 테이블 (0)에 링크);
dtby << select (: name ( "365 Mortality")! = "*");
dtby << 행 삭제;
dtby << New Column ( "Death1", Numeric, Continuous, Format ( "Best", 9), 각 값 (1) 설정);
dtby << 열 삭제 ( "365 Mortality");
dtmort << 업데이트 ((데이터 테이블 (dtby)), 열 일치 (: 환자 = : 환자), 업데이트 테이블에서 열 추가 (: Death1));
닫기 (dtby, nosave);
열 만들기여기에 또 다른 방법이 있습니다. 이 접근법을 열 수식에 적용 할 수 있습니다 (이 스크립트를 실행하거나 수식 () 내의 코드를 새 열 수식 속성에 붙여 넣기).
dt << 새 열 ( "죽음" ,
공식 ( 만약 ( 연관 배열 ( 목록으로 ( : 환자 << 값을 얻다. ) , : 이름 ( "365 사망률" ) << 값을 얻다. ) [ : 환자 []] == "*" , 1 ) )
) ;
또는 동적 수식이 필요하지 않거나 데이터베이스가 매우 큰 경우 (복잡한 수식이 속도가 느려질 수 있음) jsl 스크립트로 수행 할 수 있습니다.
dt << 현재 데이터 표 () ;
안부 = ( dt << 새 열 ( "죽음" )) ;
각 행에 대해 (
만약 ( 연관 배열 ( 목록으로 ( : 환자 << 값을 얻다. ) , 기둥 ( "365 사망률" ) << 값을 얻다. ) [ : 환자 []] == "*" ,
안부 [] = 1
)
) ;
열 만들기나는 그것보다 조금 까다 롭다 고 생각한다. jstewart는 환자 행에 *가있는 경우 데스 칼럼에 1을 원합니다. 다음과 같은 한 가지 방법이 있습니다.
dt = 데이터 테이블 ( "인류" ) ;
dt << 새 열 ( "죽음 1" , 숫자 , 마디 없는 , 체재 ( "베스트" , 9 )) ;
dt1 = ( dtab = dt << 표로 만들다 (
제어판 표시 ( 0 ) ,
표 추가 ( 행 표 ( 그룹화 컬럼 ( : 환자 , : 이름 ( "365 사망률" ) ) ) )
)) << 데이터 테이블 만들기 ;
dtab << 창 닫기 ;
...에 대한 ( 나는 = 1 , 나는 <= 안주 ( dt1 ) , 나는 ++,
patient_no = 기둥 ( dt1 , "환자" ) [ 나는 ] ;
pat_rows = dt << 행을 가져오다. ( : 환자 == 평가 ( patient_no )) ;
기둥 ( dt , "죽음 1" ) [ pat_rows ] = 1 ;
) ;
열 만들기이 작업은 if 정보를 사용하여 열 정보 창이나 JSL을 통해 수행 할 수 있습니다. 여기에 JSL의 빠른 예가있다.
dt = 현재 데이터 테이블 () ;
dt << 새 열 ( "죽음" , 공식 ( 만약 ( : 이름 ( "365 사망률" ) == "*" , 1 ) )) ;