"aplicar" etiquetas de valorCuando elimino una fórmula de una columna, los valores calculados permanecen.
Cuando elimino una propiedad de etiquetas de valor de una columna, los valores vuelven a los valores originales.
¿Existe una función alternativa de eliminación (~ "aplicar") para las etiquetas de valor, que convierte el tipo de datos de la columna en caracteres y mantiene las etiquetas de valor?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "sex2",
Formula(Recode(:sex,{Map Value( _rcOrig, {"F", "female", "M", "male"} )}));
);
dt:sex 2 << Delete Formula;
dt:sex << Value Labels( {"F" = "female", "M" = "male"} ) << Use Value Labels( 1 );
dt:sex << delete property( Value Labels );Modelado estadístico avanzadoCombinación y limpieza de datosLa personalización en masaIngeniería de Calidad y ProcesosRe: "aplicar" etiquetas de valorNo pude encontrar ninguna forma de reemplazar los valores de columna con las etiquetas de la columna.Quizás otro miembro de la comunidad tenga una solución directa.Pero, como siempre, JSL puede proporcionar una solución.Aquí hay una secuencia de comandos que funcionará con columnas de caracteres que tienen etiquetas de valor.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:sex << Value Labels( {"F" = "female", "M" = "male"} ) << Use Value Labels( 1 );
replaceWithLabels = Function( {var},
Eval(
Parse(
"vl = Parse( Substr( Char( :" || var || " << get property( \!"value labels\!" ) ), 14,
Contains( Char( :" || var ||
" << get property( \!"value labels\!" ) ),\!")\!" ) - 14 ) );
:" || var || " << delete property( \!"value labels\!" );"
)
);
theFormula = "for each row(";
For( element = 1, element <= N Items( vl ), element++,
theFormula = theFormula || "if(:" || var || " ==" || Word( 1, Char( vl[element] ), "=" ) || ", :" || var || " =" ||
Word( 2, Char( vl[element] ), "=" ) || ");"
);
Eval( Parse( theFormula || ");" ) );
);
replaceWithLabels("sex");Re: "aplicar" etiquetas de valorDespués de haber establecido etiquetas de valor

y vas a recodificar columnas tendrás una opción para recodificarlas


esto parece reemplazar los valores con etiquetas
Re: "aplicar" etiquetas de valormaravilloso, gracias!