(パラドックス、パラドックス、最も独創的なパラドックス)
これは、さまざまなR関数に触発されたマルチパートシリーズの最初のパートです。
タスク
データセットを考えると正の整数の、私はあなたが計算する必要が5数要約の。ただし、大規模なデータセットで作業しているため、コードをできるだけ小さくして、コンピューターに保存できるようにする必要があります。
5つの数字の概要は次のとおりです。
- 最小値
- 最初の四分位(Q1)
- 中央値/ 2分の1(Q2)
- 3番目の四分位(Q3)
- 最大値
四分位数を定義する方法はいくつかありますが、Rによって実装された方法を使用します。
定義:
- 最小値と最大値:それぞれ最小値と最大値。
- 中央値以下の場合中央値あればエントリの奇数、及び2つの中間最も値の算術平均値を有し、エントリの偶数を有します。これは、中央値が非整数値であることを意味することに注意してください。以前に中央値を計算する必要がありました。
- 第1四分位と第3四分位:のエントリ数が奇数の場合、各半分の中央要素を含む2つの半分にデータを分割し、各半分の中央値を求めます。下半分の中央値は第1四分位、上半分の中央値は第3四分位です。
例:
。中央値は、その後で、及び下半分であるの最初の四分位得、上半分であるの第三四分位生じ、。
。中央値は、下半分であるの第一四分位得、及び上半分であるの第三四分位得。
追加のルール:
- 入力は、配列または言語に最も近い同等のものです。
- 配列は昇順または降順でソートされていると想定できます(ただし、どちらを指定してください)。
- 一貫性のある順序で、任意の柔軟な形式で結果を返す/印刷することができますが、回答で順序と形式を指定してください。
- と同等の組み込み関数
fivenum
が許可されていますが、独自のソリューションも実装してください。 - 5つの数値のそれぞれが整数であるとは限りません。
- 説明が奨励されます。
- これはcode-golfなので、各言語の最短回答が勝ちです!
ランダムに生成されたテストケース
1 1 1 1 1 2 2 2 2 2 3 3 4 4 4 4 4 5 5 5 -> 1 1.5 2.5 4 5
1 2 2 2 4 4 5 5 6 7 7 8 9 9 9 9 9 10 10 10 -> 1 4 7 9 10
2 2 2 6 8 10 15 16 21 22 23 24 26 33 35 38 38 45 46 47 48 -> 2 10 23 38 48
1 2 9 -> 1 1.5 2 5.5 9
1 2 3 3 3 4 9 -> 1 2.5 3 3.5 9
1 1 2 5 7 7 8 8 15 16 18 24 24 26 26 27 27 28 28 28 29 29 39 39 40 45 46 48 48 48 48 49 50 52 60 63 72 73 79 85 86 87 88 90 91 93 94 95 95 97 100 -> 1 25 45 76 100
2 2 4 4 6 8 10 11 13 14 14 15 17 21 23 24 26 27 27 28 28 30 31 33 33 34 36 36 38 38 39 40 41 42 42 43 45 45 47 47 47 47 47 48 48 48 50 51 53 53 55 56 56 56 57 57 58 62 62 63 64 64 65 65 66 67 67 67 68 69 69 71 71 71 74 79 80 81 81 81 82 82 83 83 86 86 86 87 89 94 94 94 95 95 97 98 99 100 100 100 -> 2 33.5 54 76.5 100
1 3 3 4 -> 1 2 3 3.5 4
1 3 3 3 4 -> 1 3 3 3 4
quantile
は、名前付きベクトルを返すことですfivenum
。たぶんそれはどこfivenum
で使われるの下流の問題でしょうか?