データテーブルに新しい列を追加するには、New Columnメッセージをデータテーブルの参照に送るか、New Column()関数を使用します。第1引数の列名は必須です。列名は、引用符で囲むか、名前を導き出す式の形で指定します。
dt = New Table( "MyData1.jmp" );
dt << New Column( "ウエハー" );
または
dt = New Table( "MyData2.jmp" );
a = "ウエハー";
dt << New Column( a );
または
dt = New Table( "MyData3.jmp" );
col = New Column( "X", Formula( Random Uniform() ) );
テーブルにすでに同名の列がある場合は、新しい列名に連番式の数字が追加されます(ウエハー、ウエハー2、ウエハー3など)。
特に指定しない限り、列の値は連続量の数値で、列幅は12文字です。
• データタイプ(数値、文字、行の属性、または式)
• 尺度(連続、名義、順序、多重応答、非構造化テキスト、またはベクトル)
• 列幅(数値列の場合のみ)
• 数値の表示形式
次の例は、データタイプが数値で、尺度が連続尺度、列幅が5の新しい列を作成します。数値の表示形式は「最適」に設定します。
dt << New Column( "ウエハー", Numeric, "Continuous", Format( "最適", 5 ) );
次の列は、文字列の列を作成し、自動的に名義尺度を割り当てます。
dt << New Column( "姓", Character );
列の属性に合わせて、式やその他のスクリプトメッセージを入れることもできます。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "比率", Numeric, "Continuous", Formula( :Name("身長(インチ)")/:Name("体重(ポンド)") ) );
dt << New Column( "マーカー",
Row State,
Set Formula( Marker State( age - 12 ) )
);
特定の列を後で操作する(グループ化する、データタイプを変更するなど)予定がある場合は、次のようにして列の参照を作成します。
myCol = dt << New Column( "生年月日" );
列にデータを挿入するには、Values、またはそれと等価のSet Valuesを使用します。各セルの値をリストに含めます。
次の例は、新しいデータテーブルに「姓」という新しい列を追加し、そこに「Smith」、「Jones」、「Anderson」という3つの値を挿入します。
dt = New Table( "My Data");
dt << New Column( "姓", Character, Values( {"Smith", "Jones", "Anderson"} ) );
列には、数値を入れることもできます。次の例は、新しいデータテーブルに「行番号」という新しい列を追加します。N Row関数がテーブル内の行の数を戻し、新しい列のすべての行に1から始まる数値が挿入されます。
dt = New Table( "My Data");
dt << New Column( "姓", Character, Values( {"Smith", "Jones", "Anderson"} ) );
dt << New Column( "行番号",
Numeric,
Values( 1 ::N Row() ),
Format( "最適", 5 )
);
乱数の列を追加するには、乱数関数と式を挿入します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "乱数", Numeric, Formula( Random Uniform() ) );
また、各セルに一定の数値を挿入することもできます。次の例は、各セルに「5」を挿入します。
dt << New Column( "数" );
:数 << Set Each Value( 5 );
New Column()はビルトイン関数として使用することもできます。データテーブルの参照に対して<<(Send)コマンドを使用しない方法です。ビルトイン関数として使うと、列は現在のデータテーブルに追加されます。
dt << New Column( "住所" ); // コマンドをデータテーブルの参照に送る
New Column( "住所" ); // 列は現在のデータテーブルに追加される