创建一个列<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 ) )) ;