我有 100 個字元列,名為 Column_1、Column_2、....Column_100。每列都有 A1、A2、...A100 等條目。我試圖從這 100 列中建立 200 列,其中每個輸入列將建立 2 個輸出列,一個輸出列將包含字母 (A),另一列將包含數字 (1,2,...)。這個怎麼寫呢?
這是一個例子
names default to here(1);
dt =
New Table( "Example",
Add Rows( 20 ),
New Column( "column 1",
Character,
Formula( "A" || Char( Random Integer( 1, 100 ) ) )
),
New Column( "column 2",
Character,
Formula( "A" || Char( Random Integer( 1, 100 ) ) )
)
);
colList = dt << get column names( string );
For Each( {col}, colList,
dt << New Column( col || " Letter",
character,
set each value( Substr( As Column( col ), 1, 1 ) )
);
dt << New Column( col || " Number",
set each value( Num( Substr( As Column( col ), 2 ) ) )
);
);

或使用 For() 循環
names default to here(1);
dt =
New Table( "Example",
Add Rows( 20 ),
New Column( "column 1",
Character,
Formula( "A" || Char( Random Integer( 1, 100 ) ) )
),
New Column( "column 2",
Character,
Formula( "A" || Char( Random Integer( 1, 100 ) ) )
)
);
colList = dt << get column names( string );
For( i=1,i<= NItems(colList), i++,
dt << New Column( colList[i] || " Letter",
character,
set each value( Substr( As Column( colList[i] ), 1, 1 ) )
);
dt << New Column( colList[i] || " Number",
set each value( Num( Substr( As Column( colList[i] ), 2 ) ) )
);
);
表中還有其他欄位。比如說 X 列、Y 列。我如何更改您的線路以僅關注我關心的欄位。
colList = dt << get column names( string );
remove from(colList,contains(colList,"Column X"),1);
請花時間閱讀「腳本指南」部分中「幫助」=>「JMP 線上幫助」下的資料。另外,請熟悉幫助下拉式選單下的腳本索引。這些文件將為您提供有關 JMP 中的腳本語言和約定的良好背景知識。