Évaluation de Col Mean avec des itérationsSalut tout le monde,
J'ai du mal à évaluer une fonction col mean. Comme vous pouvez le voir ci-dessous, la colonne mean(:age, :list_col_names[i]] n'insère pas l'élément dans la liste de la table de données. Avec cette configuration actuelle, lorsque j'ouvre la formule sur la table de données, j'obtiens "Col Mean( :age, list_col_names[i] )" qui ne correspond à rien sur la liste list_col_names.
list_col_names = fdt << getColumnNames( "String" );
For( j = N Items( list_col_names ), j > 0, j--,
If( Left( list_col_names[j], 2 ) != "10",
Remove From( list_col_names, j )
)
);
For( i = 1, i <= N Items( list_col_names ), i++,<BR /> fdt << New Column( list_col_names[i] || "_age", Numeric, Formula( Col Mean( :age, :list_col_names[i] ) ) ) <BR />);
dans une itération
Re : Évaluer Col Mean avec des itérationsFonctionne très bien. Merci Vince !
Re : Évaluer Col Mean avec des itérationsvous ne pouvez pas faire :list_col_names[i], vous déclarez explicitement que vous avez une colonne appelée "list_col_names" et que vous en tirez la ième ligne.
Essaye ça
Names Default to here(1);
fdt = open("$SAMPLE_DATA\Big Class.jmp");
list_col_names = {"sex", "name"};
For( i = 1, i <= N Items( list_col_names ), i++,
//this is just it doesn't keep the variable
//in the table because i will change and then your column name will change
Eval(
EvalExpr(
fdt << New Column( list_col_names[i] || "_age",
Numeric,
Formula( Col Mean( :age,
//replaces the string column name with an actual column
Expr(Column(fdt, list_col_names[i]))
) )
)
)
)
);