こんにちは。これに似たテーブルがあり、複数のエントリがある ID を選択し、ID 別にグループ化された結果の標準偏差を計算したいと考えていました。たとえば、この場合は、ID 12345 を選択し、最初の 3 つの結果の標準偏差を計算する必要があります。
表にすることでこれができることはわかっていますが、実際のテーブルは非常に大きく、100 万行を超えているため、ID 別に表にし、標準偏差を計算すると非常に時間がかかります。実際のテーブル内のほとんどの ID には 1 行しかありません。このような操作を行ってから、残りの結果を ID 別にグループ化して標準偏差を計算することはできますか? ご提案ありがとうございます!
select where(n 行(グループ化列 (:ID))>1)
| ID | 結果 |
| 12345 | 0.3 |
| 12345 | 0.4 |
| 12345 | 0.2 |
| 23456 | 0.5 |
| 34567 | 0.2 |
グループ化列(ID)を選択してください

次に、計算を実行する列を選択し、標準偏差を選択します(IDによるグループ化に注意してください)



その他のオプション
要約表を作成する

要約テーブルを作成したら、stddev 列をクリックしてしばらくマウスを押したままにします。これにより、列を「選択」して元のテーブルにドロップできます。

要約テーブルでUpdateを使用することもできます

Tabulateを使用して同様の表を作成できます(IDは名目値であることに注意してください)

次に赤い三角からデータテーブルを作成します

その後、Update (または join) を使用して結果をテーブルに戻すことができます。
スクリプトオプションも多数あります。ここではSummarize()を使用する例を示します。
Names Default To Here(1);
dt = Current Data Table();
Summarize(ids = by(:ID), stddevs = Std dev(:result));
show(ids, stddevs);
// ids = {"12345", "23456", "34567"}; // note that these are strings even if they were numbers originally
// stddevs = [0.1, ., .];