創建一個列<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我是JMP新手,需要一些幫助。 我有一個大型數據庫,可以跟踪住院患者20年。 如果患者在“365死亡率”欄中有“*”,我希望每次列出患者時在“死亡”欄中加1。 見下文。
患者
| 365死亡率 | 死亡 |
|---|
| 1 |
| 1 |
| 1 | * | 1 |
| 2 |
|
|
| 2 |
|
|
| 2 |
|
|
| 3 |
| 1 |
| 3 |
| 1 |
| 3 | * | 1 |
| 4 |
|
|
| 4 |
|
|
| 五 |
| 1 |
| 五 | * | 1 |
創建一個列感謝您所有的幫助!
Re:創建一個列另一種方法:
dtmort =數據表(“死亡率”);
dtby = dtmort <<摘要(組(:名稱(“365死亡率”),:患者),鏈接到原始數據表(0));
dtby << select where(:name(“365 Mortality”)!=“*”);
dtby <<刪除行;
dtby <<新列(“Death1”,數字,連續,格式(“最佳”,9),設置每個值(1));
dtby <<刪除列(“365死亡率”);
dtmort << Update(With(Data Table(dtby)),Match Columns(:Patient =:Patient),Update table from Update table(:Death1));
關閉(dtby,nosave);
創建一個列這是另一種方法。該方法可以應用於列公式(運行此腳本或將公式()中的代碼粘貼到新列公式屬性中):
DT << 新欄目 ( “死亡” ,
式 ( 如果 ( 關聯數組 ( 作為列表 ( : 患者 << 得到價值 ) , : 名稱 ( “365死亡率” ) << 得到價值 ) : 患者 []] == “*” , 1 ) )
) ;
或者,如果不需要動態公式或數據庫非常大(複雜的公式可能會減慢速度),可以通過jsl腳本完成:
DT << 當前數據表 () ;
關口 = ( DT << 新欄目 ( “死亡” )) ;
對於每一行 (
如果 ( 關聯數組 ( 作為列表 ( : 患者 << 得到價值 ) ,柱 ( “365死亡率” ) << 得到價值 ) : 患者 []] == “*” ,
關口 [] = 1
)
) ;
創建一個列我認為這比那更棘手。 如果任何患者行有*,則jstewart在死亡列中想要1。 這是一種方法:
DT = 數據表 ( “死亡” ) ;
DT << 新欄目 ( “Death1” ,數字 ,連續 ,格式 ( “最好” , 9 )) ;
DT1 = ( DTAB = DT << 製表 (
顯示控制面板 ( 0 ) ,
添加表格 ( 行表 ( 列分組 ( : 患者 , : 名稱 ( “365死亡率” ) ) ) )
)) << 進入數據表 ;
DTAB << 關閉窗口 ;
對於 ( 一世 = 1 ,一世 <= NROWS ( DT1 ) ,一世 ++,
patient_no = 柱 ( DT1 , “患者” ) 一世 ] ;
pat_rows = DT << 得到行在哪裡 ( : 患者 == EVAL ( patient_no )) ;
柱 ( DT , “Death1” ) pat_rows ] = 1 ;
) ;
創建一個列這可以通過if語句通過列信息窗格或JSL來完成。 這是JSL的快速示例
DT = 當前數據表 () ;
DT << 新欄目 ( “死亡” ,式 ( 如果 ( : 名稱 ( “365死亡率” ) == “*” , 1 ) )) ;