公開日: 11/25/2021

列の作成

データテーブルに新しい列を追加するには、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( :"身長(インチ)"n/:"体重(ポンド)"n ) );
dt << New Column( "マーカー",
	Row State,
	Set Formula( Marker State( age - 12 ) )
);

既存の列と同じプロパティを持つ列を新たに作成することもできます。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "名前と同じ", Like( :名前 ) );

特定の列を後で操作する(グループ化する、データタイプを変更するなど)予定がある場合は、次のようにして列の参照を作成します。

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( "住所" ); // 列は現在のデータテーブルに追加される
より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).