100 列以上の行の最大日付値と最小日付値を検索するスクリプトの作成方法500行以上、100列以上のテーブルがあります。 数値 (日付) が入力されます。 最古の日付と最新の日付の各行の最大値と最小値を見つける必要があります。スクリプトは各行の「最大(列1......列100)」に似ていると思います。 しかし、各行に沿って列範囲をスクリプト化する方法がわかりません。
高度な統計モデリング自動化とスクリプト作成データのブレンディングとクリーンアップマスカスタマイゼーションRe: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法この式でよいでしょうか
If( Row() == 1,
nc = N Cols( Current Data Table() )
);
Mean( As Column( nc - 4 ), As Column( nc - 3 ),
As Column( nc - 2 ), As Column( nc - 1 ) );
あなたが探している方向にあるものであること
Re: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法各列に毎日の値があることを考慮します。過去 4 日間のデータの平均 (4 列の平均) を取得し、これを新しい列に入れる必要があります。この新しい列の数式を作成するにはどうすればよいですか?数式内の参照は毎日どこで変更されるのでしょうか?Re: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法データ テーブルの 10 番目から最後までのみを使用したい場合は、列の指定に使用されるリスト内の要素を変更できます。以前に提出した式を修正したものです
If( Row() == 1,
theList = Current Data Table() << get column names( );
remove from( theList, 1, 9 );
);
Max( theLIst );
リストの変更に関するドキュメントは、スクリプト ガイドにあります。
Re: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法これが 1 つの方法です。 不明な点については、「ヘルプ > スクリプト インデックス」および「JSL スクリプト ガイド」を使用してください。
NamesDefaultToHere(1);
// Make some data
nr = 100;
nc = 50;
dt = AsTable(J(nr, nc, RandomNormal(0, 1)));
dt << setName("Some Random Continuous Columns");
// Define a contiguous range of columns to consider
startColNum = RandomInteger(1, Floor(nc/2));
endColNum = RandomInteger(Ceiling(nc/2), nc);
// Get the list of columns to include in the formulas
allCols = dt << getColumnNames;
myCols = allCols[startColNum::endColNum];
// Add the required formulas
CMD = Expr(dt << NewColumn("Row Maximum from Cols "||Char(startColNum)||" to "||Char(endColNum), Numeric, Continuous, Formula(Max(colsTBD))));
SubstituteInto(CMD, Expr(colsTBD), myCols);
CMD;
CMD = Expr(dt << NewColumn("Row Minimum from Cols "||Char(startColNum)||" to "||Char(endColNum), Numeric, Continuous, Formula(Min(colsTBD))));
SubstituteInto(CMD, Expr(colsTBD), myCols);
CMD;
Re: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法スクリプトで範囲を指定する方法、スクリプトで使用する正確な記号/文字は何ですか?それが私が興味があることですRe: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法それは簡単だと思います。 式 Min(:Col1, :Col2,....,:Coln) を使用して新しい列を作成するだけです。
すべての列を数式エディターにドラッグ アンド ドロップできます。Re: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法すべての列ではなく、ある範囲の列のみを使用したい場合、これをどのようにスクリプト化すればよいでしょうか? すべての行で 10 列目から 100 列目のみを使用したいとします。これをどのようにスクリプト化すればよいでしょうか?Re: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法データ テーブル内のすべての連続列を検索し、それらの列の最大値を計算する簡単な数式を次に示します。新しい列の数式として使用するだけです
If( Row() == 1,
theList = Current Data Table() << get column names( continuous )
);
Max( theLIst );
Re: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法こんにちは@とんかつ2020 、
考慮すべき点は、データ テーブルが「方向付け」されているか、または正しい方法で配置されているかどうかです。 通常、データを含む 1 つの列が必要で、行は、表示しているもののそれぞれの新しいインスタンスになります。
データを転置することを検討することもできます。 そうすれば、Col Maximum() と Col Minimum() を見つけるのは簡単です。 ただし、これはあなたが求めているものではないかもしれません。 テーブルの匿名化されたバージョンを共有できますか? これは、データがどのように構造化されているか、そしてそれを使って何をしたいのかを理解するのに役立つかもしれません。
DS
Re: 100 列以上の行で日付の最大値と最小値を検索するスクリプトの作成方法こんにちは、
データを転置する (行が列になり、相互に変換される) ことを検討したことがありますか? これにより、Col Minimum と Col Maximum の式を使用できるようになります。
最高、
TS