Come utilizzare JSL del software JMP per trovare in modo efficiente il valore minimo?Come utilizzare JSL del software JMP per trovare in modo efficiente il valore minimo nella stessa riga, in più colonne e il rango della colonna in cui risiede il valore minimo.
dt = Open( "$SAMPLE_DATA/PopAgeGroup.jmp" );
New Column( "mi" );
New Column( "ix" );
Column( "mi" ) << Formula( ? );
dt << run formulas;
Column( "mi" ) << deleteFormula;
Column( "ix" ) << Formula( ? );
dt << run formulas;
Column( "ix" ) << deleteFormula;

finestre回复: Come utilizzare JSL software JMP per trovare in modo efficiente il valore minimo?Grazie!
Column( "mi" ) << Formula(r=row();min( dt[r,8::13]) );
Column( "ix" ) << Formula(r=row();contains(dt[r,8::13],min( dt[r,8::13]) ));
Ri: Come utilizzare il software JMP JSL per trovare in modo efficiente il valore minimo?E 'questo quello che stai cercando
dtsub << New Column( "mi",
set each value( Min( dtsub[Row(), 8 :: 13] ) )
);
dtsub << New Column( "ix",
set each value(
theList = dtsub[Row(), 8 :: 13];
val = Loc( theList, Min( theList ) );
)
);
Ri: Come utilizzare il software JMP JSL per trovare in modo efficiente il valore minimo?Per prima cosa ottieni gli indici oi nomi delle colonne da cui desideri trovare i valori, quindi usa Min per ottenere il valore minimo e Loc() per trovare il valore OR utilizzare Loc Min() per trovare l'indice e poi quell'indice per trovare il valore minimo. Di seguito è riportato un esempio che utilizza Loc Min per ottenere l'indice e quindi il valore
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/PopAgeGroup.jmp");
// get either index or name of columns of interest
cols_of_interest = Filter Each({col_name}, dt << Get Column Names(Continuous, "String"),
!IsMissing(Regex(col_name, "^(Portion|F Rate).*[\d+]$"))
);
dt << New Column("MinIdx", Numeric, Continuous, << Set Each Value(
Loc Min(dt[Row(), cols_of_interest])
));
dt << New Column("MinVal", Numeric, Continuous, << Set Each Value(
dt[Row(), cols_of_interest[:MinIdx]]
));
Inoltre, se non hai bisogno di formule, è meglio non usarle e piuttosto usare << Imposta ogni valore.