列の違い - JSL 構文こんにちは、みんな、
列参照によって列の内容にアクセスする方法は? スクリプトのループごとに列名が変化し続けるため、単純に列名を使用して減算することはできません。
dt は私のデータ テーブルで、30 列あります。 dt[28]-dt[30]で新しい列を作成したいです。
誰でも構文を手伝ってもらえますか?
ほんとうにありがとう。 ありがとうございました。
Re: 列の違い - JSL構文この例は、1) JMP 13 で表に行列表記を使用する場合、または 2) 数式を設定する場合に、列を動的に定義するために変数を使用する方法を示しています。
dt = New Table("Table Subscripting",
New Column("a", Set Values([1 2 3 4 5])),
New Column("b", Set Values([44 22 77 55 99])),
New Column("c", Set Values([59, 58, 57, 56, 55]))
);
startCol = 1;
endCol = N Col(dt);
// New column with the diff between endCol and startCol can be filled
// 1) with static values using matrix notation (JMP 13),
dt << New Column("Delta");
dt[0, endCol + 1] = dt[0, endCol] - dt[0, startCol];
// 2) or by a Column Formula
// (expression must partly be pre-evaluated if variables are used)
F = Eval Expr(Expr(Column(endCol))[] - Expr(Column(startCol))[]);
dt << New Column("Delta2", Formula(Name Expr(F)));Re: 列の違い - JSL構文ハイマーク、
どうやら、この構文は使用できません
dt<< New Column( "デルタ",
数値、
Formula( 列 (dt、開始列) - 列 (dt、終了列) )
);
startcol= 28 (特定の列の後に導出される)
そして endCol = ncols( dt );
データテーブルの列数はループごとに変化し続けるため、数値を使用できません。 他に方法はありますか?
Re: 列の違い - JSL構文4 は自動的にそれがテーブルの終わりであることを意味しますか? データ テーブルの列が変化し続けるため、使用できますか
dt[1::nrow(dt), endcol+1] = dt[1::nrow(dt), startcol] - dt[1::nrow(dt), endcol];
ここで endCol = ncols( kdt );および startcol= 28 (これは特定の列の後に導出されます)
私はすべてを動的にしようとしています。
これはうまくいかないと思います。 このメラニーについてどう思いますか。Re: 列の違い - JSL構文さらに、JMP 13 を実行している場合は、dt[row, column] を使用してデータ テーブルに添字を付けたり、範囲 (1::4) を使用したりできます。
新しい列を追加し、その値を列 3 - 列 n 1 に設定する短い例を次に示します。
dt = New Table( "Table Subscripting",
New Column( "a", Set Values( [1 2 3 4 5] ) ),
New Column( "b", Set Values( [44 22 77 55 99] ) ),
New Column( "c", Set Values( [59, 58, 57, 56, 55] ) )
);
dt << New Column( "new column" );
dt[1::nrow(dt), 4] = dt[1::nrow(dt), 3] - dt[1::nrow(dt), 1];
Re: 列の違い - JSL構文列を参照する方法は複数あります。
- :名前
- 列( "名前" )
- Column( データテーブル参照, "名前" )
- 列 ( インデックス )
- Column(データテーブル参照、インデックス)
Column() 関数に基づく最後の 2 つの形式は、あなたの場合に役立つと思います。