使用两个列表进行 For 循环的更好方法?我是菜鸟。我有一个嵌套的 for 循环,它使用两个列表从多个诊断列中选择特定的诊断代码。它可以工作,但我想知道是否有更好的方法来编码它。
ColumnList = {"DIAGNOSIS_1", "DIAGNOSIS_2", "DIAGNOSIS_3"};
ValueList = {"E871","O480","J449"};*/
For( i = 1, i <= N Items( ColumnList ), i++,
ColumnItem = ColumnList[i];
Eval(
Eval Expr(
As Constant( col = As Name( Expr( ColumnItem ) ) );
For( j = 1, j <= N Items( ValueList ), j++,
ValueItem = ValueList[j];
all_ip << select where( As Column( col ) == ValueItem, Current Selection( "extend" ) );
);
)
);
);
消费者和市场研究数据访问回复:使用两个列表进行 For 循环的更好方法?抱歉这么晚才更新;我必须更新到 17。而且您的代码运行完美!谢谢。
回复:使用两个列表进行 For 循环的更好方法?我猜你说得对,这就是他们想要做的。除此之外,即使它是动态的,你也可以做类似的事情。
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
col_dict = ["height"=>{13, 128, 60},
"weight"=>{95, 123, 79, 105},
"age"=>{17}
];
//create an orexpression
or_expr = Expr(OR());
for(key = col_dict<<FIRST></FIRST>回复:使用两个列表进行 For 循环的更好方法?那就行了。我仍然是 15 岁。我敢发誓我已经更新了。COVID 让我很忙。
回复:使用两个列表进行 For 循环的更好方法?JMP 17 中的每个脚本索引:已在 JMP 16(JMP 或 JMP Pro)中添加

回复:使用两个列表进行 For 循环的更好方法?常规 JMP,自 16 起。
回复:使用两个列表进行 For 循环的更好方法?For Each() 是否仅在 Pro 中可用?我只有 Basic,它不起作用。还是我错过了某个地方的更新?
回复:使用两个列表进行 For 循环的更好方法?或者甚至这个
dt = Open( "$sample_data/big class.jmp" );
ValueList = {13, 128, 60};
dt << select where( Contains( ValueList, :height ) | Contains( ValueList, :weight ) | Contains( ValueList, :age ) );
想象一下,身高、体重和年龄都是相同的单位,类似于诊断列。如果诊断列的数量始终为三,我认为这就是您想要的。
回复:使用两个列表进行 For 循环的更好方法?也许这就是您正在尝试做的事情。
dt = Open( "$sample_data/big class.jmp" );
ColumnList = {"height", "weight", "age"};
ValueList = {13, 128, 60};
For Each( {col}, ColumnList,
For Each( {ValueItem}, ValueList,
dt << select where( As Column( dt, col ) == ValueItem, Current Selection( "extend" ) )
)
);
或者甚至这个
dt = Open( "$sample_data/big class.jmp" );
ColumnList = {:height, :weight, :age};
ValueList = {13, 128, 60};
For Each( {col}, ColumnList,
For Each( {ValueItem}, ValueList, dt << select where( col == ValueItem, Current Selection( "extend" ) ) )
);
(对于您的数据来说,这可能有意义,但对于大类来说,选择身高或体重或年龄为 13 的行,或者身高或体重或年龄为 128 的行,或者身高或体重或年龄为 60 的行没有多大意义。只是用它来尝试匹配我认为你的意思。)