(paradoks, paradoks, najbardziej genialny paradoks)
To pierwsza część wieloczęściowej serii inspirowanej różnymi funkcjami R.
Zadanie
Biorąc pod uwagę zestaw danych dodatnich liczb całkowitych, musisz obliczyć podsumowanie 5 liczb z . Pracuję jednak nad dużymi zestawami danych, więc chcę, aby Twój kod był tak mały, jak to możliwe, co pozwala mi przechowywać go na moim komputerze.
Pięć liczbowe podsumowanie składa się z:
- Minimalna wartość
- Pierwszy kwartyl (Q1)
- Mediana / Drugi kwartyl (Q2)
- Trzeci kwartyl (Q3)
- Maksymalna wartość
Istnieje kilka różnych sposobów definiowania kwartyli, ale użyjemy tego zaimplementowanego przez R:
Definicje:
- Minimum i maksimum: odpowiednio najmniejsza i największa wartość.
- Mediana: środkowa wartość, jeśli ma nieparzystą liczbę wpisów, i średnia arytmetyczna z dwóch środkowych wartości, jeśli ma parzystą liczbę wpisów. Zauważ, że oznacza to, że mediana może być wartością niecałkowitą. Wcześniej musieliśmy obliczyć medianę .
- Pierwszy i trzeci kwartyl: Podziel dane na dwie połowy, w tym środkowy element w każdej połowie, jeśli ma nieparzystą liczbę wpisów, i znajdź medianę każdej połowy. Mediana dolnej połowy to pierwszy kwartyl, a mediana górnej połowy to trzeci kwartyl.
Przykłady:
. Mediana wynosi wtedy , a dolna połowa to , co daje pierwszy kwartyl o wartości , a górna połowa to , co daje trzeci kwartyl o wartości .
. Mediana wynosi , a dolna połowa wynosi , dając pierwszy kwartyl , a górna połowa wynosi [ 5 , 6 , 7 , 10 ] , dając trzeci kwartyl 6,5 .
Dodatkowe zasady:
- Dane wejściowe są w postaci tablicy lub najbliższego odpowiednika Twojego języka.
- Możesz założyć, że tablica jest posortowana w porządku rosnącym lub malejącym (ale określ, które).
- Możesz zwrócić / wydrukować wyniki w dowolnej spójnej kolejności oraz w dowolnym elastycznym formacie, który ci się podoba, ale proszę podać kolejność i format w odpowiedzi.
- Wbudowane funkcje równoważne
fivenum
są dozwolone, ale proszę również zaimplementować własne rozwiązanie. - Być może nie zakładamy każdego z pięciu liczb będzie liczbą całkowitą.
- Wyjaśnienia są zachęcane.
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w każdym języku!
Losowo generowane przypadki testowe
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
zwraca nazwany wektor, podczas gdy niefivenum
ma nazwy. Może to problem poniżej tego, gdziefivenum
jest używany?