我有 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 中的脚本语言和约定的良好背景知识。