“应用”值标签当我从列中删除公式时,计算值会保留。
当我从列中删除值标签属性时,值会切换回原始值。
值标签是否有替代的删除(〜“应用”)函数,它将列的数据类型转换为字符并保留值标签?
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 );高级统计建模数据混合和清理大规模定制质量和工艺工程回复:“应用”价值标签我找不到任何方法来用列的标签替换列值。也许另一个社区成员有直接的解决方案。但是,像往常一样,JSL 可以提供解决方案。这是一个脚本,可用于具有值标签的字符列。
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");回复:“应用”价值标签设置值标签后

然后你去重新编码列你将有一个重新编码的选项


这似乎用标签替换了值
回复:“应用”价值标签太好了,谢谢!