我有需要頻繁重新編碼的列組。 它只需複製增強日誌即可工作,但如何將它們組合在一起以使程式碼不那麼笨拙?
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
// Change column name: name → Student's name
Data Table( "Big Class" ):name << Set Name( "Student's name" );
// Change column name: age → Student's age
Data Table( "Big Class" ):age << Set Name( "Student's age" );
您可以使用列名稱重新編碼
列=>列名稱=>重新編碼列名稱...
如果執行一次,您將在日誌中看到 JSL,以了解將建立重新編碼的 JSL
// Recode column names
Local( {dt = Data Table( "Big Class" ), names},
names = Recode(
dt << Get Column Names( String ),
{Map Value(
_rcOrig,
{"age", "s age", "height", "s height", "name", "s name", "sex", "s sex",
"weight", "s weight"},
Unmatched( _rcNow )
)}
);
For Each( {name, i}, names, Column( dt, i ) << Set Name( name ) );
);
取得列名稱清單也很容易,並從中變更所有列的名稱。
Names Default To Here( 1 );
dt = Current Data Table();
nameList = dt << get column names( string );
For Each( {col}, nameList,
Column( col ) << set name( "Student's " || col )
);