(un paradoxe, un paradoxe, un paradoxe des plus ingénieux)
Il s'agit de la première partie d'une série en plusieurs parties inspirée par différentes fonctions R.
La tâche
Étant donné un ensemble de données d'entiers positifs, je dois vous calculer le résumé du numéro 5 de . Cependant, je travaille sur de grands ensembles de données, j'ai donc besoin que votre code soit aussi petit que possible, ce qui me permet de le stocker sur mon ordinateur.
Le résumé à cinq chiffres comprend:
- Valeur minimum
- Premier quartile (T1)
- Médiane / deuxième quartile (T2)
- Troisième quartile (T3)
- Valeur maximum
Il existe plusieurs façons de définir les quartiles, mais nous utiliserons celle implémentée par R:
Définitions:
- Minimum et maximum: les plus petites et les plus grandes valeurs, respectivement.
- Médiane: la valeur moyenne si a un nombre impair d'entrées et la moyenne arithmétique des deux valeurs les plus moyennes si a un nombre pair d'entrées. Notez que cela signifie que la médiane peut être une valeur non entière. Nous avons dû calculer la médiane avant .
- Premier et troisième quartiles: divisez les données en deux moitiés, y compris l'élément central dans chaque moitié si a un nombre impair d'entrées, et trouvez la valeur médiane de chaque moitié. La médiane de la moitié inférieure est le premier quartile et la médiane de la moitié supérieure est le troisième quartile.
Exemples:
. La médiane est alors de , et la moitié inférieure est , ce qui donne un premier quartile de , et la moitié supérieure est , ce qui donne un troisième quartile de .
. La médiane est de et la moitié inférieure est , ce qui donne un premier quartile de , et la moitié supérieure est , ce qui donne un troisième quartile de .
Règles supplémentaires:
- L'entrée est un tableau ou l'équivalent le plus proche de votre langue.
- Vous pouvez supposer que le tableau est trié dans l'ordre croissant ou décroissant (mais veuillez préciser lequel).
- Vous pouvez renvoyer / imprimer les résultats dans n'importe quel ordre cohérent et dans le format flexible que vous aimez, mais veuillez indiquer l'ordre et le format dans votre réponse.
- Fonctions intégrées équivalentes à
fivenum
sont autorisées, mais veuillez également implémenter votre propre solution. - Vous ne pouvez pas supposer que chacun des cinq nombres sera un entier.
- Des explications sont encouragées.
- C'est le golf de code , donc la réponse la plus courte dans chaque langue gagne!
Cas de test générés aléatoirement
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
renvoie un vecteur nommé, alors qu'ilfivenum
est sans nom. C'est peut-être un problème en aval de l'endroit oùfivenum
est utilisé?