JSLのヒント:リストの代わりに行列を使うこのリストは、JSLでデータを整理するための基本的な構築ツールの1つです。リストの威力は、それらがあらゆる種類の項目(数字、文字、他のリストなど)を含むことができ、必要に応じて拡大縮小できることです。ただし、固定数のリストだけが必要な場合は、1次元行列からより優れたパフォーマンスを得ることができます。
奇数の配列を作るこれら2つのサンプルを考えてみましょう。
//奇数のリストを作る
n = 1000。
y = {};
(i = 1、i <= n、i ++、
よ = 2 * i - 1;
;
よ;
//奇数の行列を作る
n = 1000。
y = J(1、n)。//すべての値を1に設定して1 x n行列を作成する
(i = 1、i <= n、i ++、
よ = 2 * i - 1;
;
数百アイテムの場合、それほど違いはありません。しかし、nが1000を超えると(または上記のコードがループしていると)、速度の違いに気付き始めます。リストの場合は、動的および一般的な柔軟性を高めるための一定量のオーバーヘッドがあります。
与えられたサイズの新しい行列を作成するためにJ関数が使えることに注意してください。J m、n の名前です。単位マトリックス線形代数
また、一次元の行列はただ一つの添字で索引付けできることにも注意してください。つまり、yを使うことができます yの代わりに[1] 。これにより、行列をリストとして扱うことが容易になります。また、上記のループでも、どちらの場合も同じです。
次回までの質問:コードをさらに速くするにはどうすればよいですか。
Xan Greggは書きました:こんにちはUday、あなたは投稿しようとするべきです... Xan Gregg 書きました:
こんにちは。
フォーラムに投稿してみてください。 community.jmp.com あなたがより詳細な説明を提供し、誰からの回答を得ることができるところ。
ここからの説明から、 Loc() 関数は調査に役立つでしょう。それはあなたにそれに続く操作のためのある条件を満たす列の位置を与えるでしょう。
列をグラフビルダーに取り込むには、たとえば次のようにして列を表にします。表として() 。
Udayは書きました:こんにちはMr.Gregg、だから私はこの行列を持っていると言うことができます...ウデイ書きました:
グレッグさん、こんにちは。
だから私は5列とn行でこの行列を持っているとしましょう。今、私は条件でこれらの列を変更したいです。例:行列の各列の5未満の値すべてをNULLにしたい。
グラフビルダーでこれらの列を使用する方法もあります。
よろしく
ウデイ
JSLのヒント:ループを行列の関数に置き換える - JMP B ... JSLのヒント:ループを行列の関数に置き換える - JMPブログ書きました:
[...]私のこれまでのJSLのヒントでは、リスト項目よりもマトリックス項目にアクセスする方が速いことを確認しました。あなたがしていない場合、それはまだ速いです[...]
マイケルは書きました:私はy = index(1,1000,2)になると思うだろう...マイケル書きました:
まだ検証していませんが、y = index(1,1000,2)の方が速いと思います。
Xan Greggは次のように書いています:その通りです。私は自分が賢いと思っていた… Xan Gregg 書きました:
あなたが正しい。私は将来のヒントのためにその改善を保存することが賢いと思っていました、しかし私は損なわれることができなかった例を見つけるべきだったかもしれません。
ライアンケリーは書いた:あなたはどのようにJMPでこれを動かしますか?ライアンケリー書きました:
JMPでこれをどのように実行しますか?
Xan Gregg氏は次のように書いています。JSLはJMPスクリプト言語です。それは… Xan Gregg 書きました:
JSLはJMPスクリプト言語です。JMPの通常の対話的な使用には必要ありませんが、カスタムタスクには便利です。[ファイル]> [新規]> [スクリプト]を選択すると、空のスクリプトウィンドウが表示され、ここで上記のスニペットのようなスクリプトを配置して、[編集]> [スクリプトの実行](Ctrl + R)で実行できます。出力がある場合は、ログウィンドウに進みます。
Chris Dorgerは、次のように書いています。マトリックスからリストを作成する方法を教えてください。クリス・ドーガー書きました:
行列またはデータテーブルの列からリストを作成する方法を教えてください。
Xan Greggは書きました:As List()関数はmaを変換します... Xan Gregg 書きました:
As List()関数は、行列を各行に1つずつ、リストのリストに変換します。1つの長いリストが必要な場合は、Shape()関数を使用して最初にすべての行列要素を1行に入れることができます。