- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
選択した列を使用して計算を実行する
こんにちは、
これに適したスクリプトソリューションを見つけるのに苦労しています。 いくつかの列を選択して、それらの列全体で計算を実行したいと思います。 選択した列は柔軟で、2つある場合もあれば、この計算を実行するために10列以上になる場合もあります。
例えば
式sqrt(sum(A ^ 4、B ^ 4、C ^ 4)1 2 3を含むABCの新しい列... 4 5 6 ... 7 8 9 ...
この時点で、選択した列を抽出するスクリプトがあります。しかし、それらが列名のリストに入ると、上記の数式を使用して列を合計する方法がわかりません...
dt =現在のデータテーブル(); cols = dt <<選択した列を取得します。手伝ってくれてどうもありがとう!
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
受理された解決策
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re:選択した列を使用して計算を実行する
ここでは、JSLを使用して、
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Calc",
formula(
cols = dt << get selected columns;
mat = [];
For( i = 1, i <= N Items( cols ), i++,
mat = mat || Column( cols[i] )[Row()]
);
mat = Sqrt( Sum( mat ^ 4 ) );
)
);
dt:calc << delete formula;
問題を処理する数式列を作成する方法
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re:選択した列を使用して計算を実行する
マトリックスオペレーターがJSLで持っている非常に優れた機能に基づいて、使用する方法を選択しました。 ステートメント
mat = Sqrt( Sum( mat ^ 4 ) );
は、行列を使用して計算をどのようにして簡潔にすることができるかを示しています。
ただし、行列演算子を使用するには、データが行列に含まれている必要があります。したがって、各行について、行列Matは最初に空行列になるように設定されます
mat = [];
次に、For()ループは、<< Get Selected Columnsで指定された各列を取得し、指定された行のその列の値をマトリックスの新しい要素としてマトリックス "Mat"に追加します。 現在の行の列の値を行列に「連結」しています。
mat = mat || Column( cols[i] )[Row()]
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re:選択した列を使用して計算を実行する
ここでは、JSLを使用して、
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Calc",
formula(
cols = dt << get selected columns;
mat = [];
For( i = 1, i <= N Items( cols ), i++,
mat = mat || Column( cols[i] )[Row()]
);
mat = Sqrt( Sum( mat ^ 4 ) );
)
);
dt:calc << delete formula;
問題を処理する数式列を作成する方法
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re:選択した列を使用して計算を実行する
ジムありがとう!あなたのスクリプトはいつものようにとても役に立ちます。 JSLをよりよく理解するために、このコード行の機能を詳しく説明してください。
mat = mat || Column( cols[i] )[Row()]
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ダイレクトリンクを取得
- 印刷
- 不適切なコンテンツを報告
Re:選択した列を使用して計算を実行する
マトリックスオペレーターがJSLで持っている非常に優れた機能に基づいて、使用する方法を選択しました。 ステートメント
mat = Sqrt( Sum( mat ^ 4 ) );
は、行列を使用して計算をどのようにして簡潔にすることができるかを示しています。
ただし、行列演算子を使用するには、データが行列に含まれている必要があります。したがって、各行について、行列Matは最初に空行列になるように設定されます
mat = [];
次に、For()ループは、<< Get Selected Columnsで指定された各列を取得し、指定された行のその列の値をマトリックスの新しい要素としてマトリックス "Mat"に追加します。 現在の行の列の値を行列に「連結」しています。
mat = mat || Column( cols[i] )[Row()]
この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。