度数分布表の階級幅計算ツール
階級幅計算ツールは、グループ化した度数分布表における各区間の大きさを求めます。データの最小値、最大値、希望する階級数を入力してください。最大値から最小値を引いて範囲を求め、その範囲を階級数で割ります。入力値、範囲、丸めていない正確な階級幅が返されるため、手計算を繰り返さずに一貫した階級境界を設計できます。
無料で実行
データ全体を表す入力値を選びます
まず、要約するデータセットに実際に含まれる最小値と最大値を確認してください。この両端の値によって、階級が覆うべき範囲全体が決まります。極端な値を除外すると、すべての観測値を収められない区間になります。次に、正の整数で階級数を指定します。階級数が少ないと区間は広くなり、簡潔な要約になります。階級数を増やすと局所的な変化を詳しく示せますが、度数の少ない階級が生じることがあります。このツールでは、最大値が最小値以上であり、階級数が1以上であることが必要です。負の観測値も利用でき、最小値と最大値の順序が正しければ特別な処理は要りません。すべての観測値が同じ場合、範囲と階級幅はいずれも0になります。これは入力を正確に表す結果ですが、表として見やすくするために別の規則を設ける場合があります。階級数を変更するとすべての境界が変わるため、幅を評価する前に階級数を確定してください。
階級幅の計算方法を確認します
計算は2段階です。最初に最大値から最小値を引いて範囲を求め、次にその範囲を希望する階級数で割ります。たとえば、12から92までの値の範囲は80です。階級数を8にすると、正確な階級幅は10になります。結果は自動的に丸めません。丸め方は、測定尺度や授業、報告書、組織で採用する規則に応じて別途判断する必要があるためです。正確な結果が循環小数になる場合は、すべての観測値を確実に含めるため、少し大きくて扱いやすい幅を選ぶ方法があります。丸めた後は、最後の上限が最大値まで届いているかを必ず確認してください。結果には範囲と正規化された入力値も含まれるため、計算過程を容易に検証できます。このツールは観測値の集計、階級数の選択、境界の生成は行いません。幅の算出だけを独立させることで、その後の判断を明示し、記録できるようにしています。
結果から度数分布表の区間を作ります
算出した幅を、連続する階級の下限同士、または境界同士の間隔として使用してください。最小値から始めるか、丸い境界を使う規則であれば最小値より低い扱いやすい値から始め、選んだ幅を順に加えます。各観測値が必ず1つの階級だけに入るよう、区間同士を重複させないでください。連続量では、下側の境界を含み、上側の境界を含まない半開区間を使うと、境界上の値を二重に数える問題を避けられます。離散的な整数データでは、両端を含む階級限界や調整した境界を使う場合があります。その規則を表とともに明記してください。正確な幅を切り上げると、最後の区間が観測された最大値を超えるのが一般的です。これは全データを覆うための正常な状態です。切り下げると予定した階級だけでは不足することがあるため、再計算するか階級を追加してください。最小値、最大値、階級数を結果と一緒に保存すれば、別の方も区間設定を再現できます。
活用例
グループ化した度数分布を作成する
観測値を階級に割り当てて度数を数える前に、一定の区間幅を求めます。
ヒストグラムの区間を設計する
選択した階級数から、ヒストグラムや探索的な報告に使う最初の幅を求めます。
統計の演習結果を確認する
手作業で作成した度数分布表の範囲と割り算を、中間値を省略せずに検算します。
よくある質問
どの計算式を使用しますか?
階級幅 = (最大値 - 最小値) / 階級数を使用し、正確な数値を返します。
階級幅は自動的に丸められますか?
いいえ。正確な商を返しますので、データと表に適した丸め規則をご自身で適用できます。
最小値や最大値に負の数を使えますか?
はい。有限の数であり、最大値が最小値を下回らなければ、どちらも負の数にできます。
階級数を0にするとどうなりますか?
度数分布表には少なくとも1つの階級が必要なため、リクエストは拒否されます。
最小値と最大値が同じ場合はどうなりますか?
範囲が0なので、正確な階級幅も0です。表を作る際は、表示用に別の規則を採用できます。
API での計算料金はいくらですか?
API リクエスト1回の料金は $0.002 です。同じ決定的な計算をブラウザーでも実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/stat/class-width \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"minimum":12,"maximum":92,"class_count":8}'const res = await fetch("https://api.kit.forhosting.com/stat/class-width", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"minimum": 12,
"maximum": 92,
"class_count": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/stat/class-width",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"minimum": 12,
"maximum": 92,
"class_count": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/stat/class-width", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"minimum":12,"maximum":92,"class_count":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"minimum":12,"maximum":92,"class_count":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/stat/class-width", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"minimum": 12,
"maximum": 92,
"class_count": 8
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "stat.class_width",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |