JSLを使用した行と列によるデータテーブルの一部の更新こんにちは、申し訳ありませんが、もう何時間もグーグル検索していますが、何をすべきかわかりません。 最善を尽くしてみますが、どうやって質問を組み立てればいいのかわかりません。本当に腹が立って、ようやく、このような単純なことがどうしてこれほど複雑になるのかということが分かりました。 結局のところ、JMP はいくつかのことを目的としており、他のことを目的としていないことがわかります。 Python では、これは私にとって非常に簡単です。 でも、すべては経験だと思います。 怪我にさらに侮辱を加えないでください。
データテーブルのサブセットを新しいデータに置き換えたいと考えています。 ターゲット行とターゲット列、古いテーブルと新しいデータがあります。 これを行うための構文は何ですか?
ありがとう。
マイケル
高度な統計モデリング自動化とスクリプト作成消費者および市場調査データアクセスデータのブレンディングとクリーンアップマスカスタマイゼーションRe: JSL を使用してデータテーブルの一部を行と列で更新するこんにちは、マイケルさん
テーブル操作で一般的に使用される構文を説明するために、何ヶ月も前に書いたスクリプトを添付しました。 チェックアウトするときは、ログをオンにして結果を確認し、各行を一度に 1 行ずつ実行します。 以前に実行されたコードに依存することを行う場合があるため、順序が狂うと正しく動作しない可能性があります。
特定のケースでは、添え字を使用してテーブルの内容を置き換えることができます...行ごとに処理を実行するこのスクリプトを見てください。
names default to here(1);
//create a 10x10 table of random integers between 1 and 20
dt = As Table( J( 10, 10, Random Integer( 1, 20 ) ) );
//replace column 1 with fibonacci numbers... note 0th row means ALL rows
//note that ` is the transpose operator.
dt[0, 1] = (Round( 1 / Sqrt( 5 ) * ((1 + Sqrt( 5 )) / 2) ^ (1 :: 10) ))` ;
//replace a subbloc of the table with numbers 81-100 in a 4x5 shape
dt[3::6, 4::8] = shape(81::100, 4);
//set a subbloc to all zeros
dt[8::10, 2::4] = 0;
//store a cell's value in a variable
x = dt[2,3];
//store a subbloc in a matrix
mat = dt[4::6, 0];
//set the whole table to missing
dt[0,0] = .;
Re: JSL を使用してデータテーブルの一部を行と列で更新するあるテーブルのデータを別のテーブルの値で更新する 3 つの方法を次に示します。
Names Default To Here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
Open( "$SAMPLE_DATA/big class.jmp" );
// Create a table with values to be input
// into the big class table
New Table( "Using Update",
New Column( "Name", character, values( {"JANE", "TIM", "ALICE"} ) ),
New Column( "Height", values( {58, 69, 64} ) ),
New Column( "Weight", values( {88, 100, 120} ) )
);
// Wait for a short time to be able to see the two
// data tables before combining them
Wait( 5 );
// Update data tables
Data Table( "big class" ) << Update( With( Data Table( "Using Update" ) ), Match Columns( :name = :Name ) );
// Update a block of data into the data table
// Create a table to get values from
New Table( "Just Data",
New Column( "A", values( {100, 101, 102, 103} ) ),
New Column( "B", values( {90, 91, 92, 93} ) )
);
// Wait for a short time to be able to see the two
// data tables before combining them
Wait( 5 );
dt = Data Table( "big class" );
dt2 = Data Table( "Just Data" );
dt[3 :: 6, 4 :: 5] = dt2[1 :: 4, 1 :: 2];
// One last simple way to move data
dt:age[2] = dt2:a[4];