スクリプトガイド > データテーブル > データ値へのアクセス > データ値にアクセスするその他の方法
公開日: 04/01/2021

データ値にアクセスするその他の方法

データテーブル、行、列は、他の方法で指定することもできます。これら3つの要素を1つの式で指定するには、次のように二項演算子と添え字を使います。

dt:年齢[2] = 12; // テーブル、列、および行

複数の行を対象にする場合は、行番号のリストまたは行列で添え字を使用できます。

年齢[i] = 3;
年齢[{3, 12, 32}] = 14;
list = 年齢[{3, 12, 32}]; // 値をリストに入れる
vector = 年齢[1 :: 20]; // 値を行列に入れる
dt[1,1] = dt[2,1]; // Big Class.jmpで、(行1、列1)の // “KATIE”が(行2、列1)と同じ“LOUISE”になる
dt[0,{height}] = dt[0,{weight}]; // 全員の身長がそれぞれの体重の値になる
dt[1,{height,weight}] = dt[2,4::5]; // 行1の身長と体重が //Louiseのものと同じになる
dt[[5 3 1], 0] = .; /* 行5、3、1をすべて欠測値に設定する。右側に添え字のある行列またはデータテーブルの場合は、添え字を昇順にしない方がよい */

値の変更に関するメモ

データテーブル内の値を変更するたびに、最新の情報が表示されるように、メッセージが送られます。しかし、スクリプトに多数の変更箇所がある場合、この方法では更新を完了するのに時間がかかってしまいます。

変更速度を上げるには、変更する前にBegin Data Updateを使って更新メッセージを止め、すべて変更し終わってからEnd Data Updateを屋って更新メッセージを解放し、表示を更新します。

dt << Begin Data Update;
...<変更作業>...
dt << End Data Update;

必ずEnd Data Updateメッセージを送ってください。そうしないと、何らかの方法で強制的に更新しない限り、表示は更新されません。

注: Begin Data Updateは、データ値を変更する以外のテーブル操作によるデータの再描画には影響しません。たとえば、列を削除または追加する場合は、データテーブルが更新された後、データ値の更新が開始されます。

より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).