データテーブル、行、列は、他の方法で指定することもできます。これら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,{"身長(インチ)"n}] = dt[0,{"体重(ポンド)"n}]; // 全員の身長がそれぞれの体重の値になる
dt[1,{"身長(インチ)"n,"体重(ポンド)"n}] = 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は、データ値を変更する以外のテーブル操作によるデータの再描画には影響しません。たとえば、列を削除または追加する場合は、データテーブルが更新された後、データ値の更新が開始されます。