(Paradoks, Paradoks, Paradoks yang paling cerdik)
Ini adalah bagian pertama dari seri multi-bagian yang terinspirasi oleh fungsi R yang berbeda.
Tugas
Mengingat dataset bilangan bulat positif, aku ingin kau menghitung ringkasan 5 jumlah dari . Namun, saya sedang bekerja pada dataset besar, jadi saya perlu kode Anda sekecil mungkin, memungkinkan saya untuk menyimpannya di komputer saya.
Ringkasan nomor lima terdiri dari:
- Nilai minimum
- Kuartil pertama (Q1)
- Median / Kuartil kedua (Q2)
- Kuartil ketiga (Q3)
- Nilai maksimum
Ada beberapa cara untuk mendefinisikan kuartil, tetapi kita akan menggunakan yang diterapkan oleh R:
Definisi:
- Minimum dan maksimum: masing-masing nilai terkecil dan terbesar.
- Median: nilai tengah jika memiliki jumlah entri ganjil, dan rata-rata aritmatika dari dua nilai paling tengah jika memiliki jumlah entri genap. Perhatikan bahwa ini berarti median mungkin nilai non-integer. Kami harus Menghitung Median sebelumnya .
- Kuartil Pertama dan Ketiga: Membagi data menjadi dua bagian, termasuk elemen pusat di setiap setengah jika memiliki jumlah entri ganjil, dan menemukan nilai median masing-masing setengah. Median bagian bawah adalah Kuartil Pertama, dan median bagian atas adalah Kuartil Ketiga.
Contoh:
. Median kemudian , dan bagian bawah adalah , menghasilkan kuartil pertama dari , dan bagian atas adalah , menghasilkan kuartil ketiga dari .
. Median adalah , dan bagian bawah adalah , menghasilkan kuartil pertama dari , dan bagian atas adalah , menghasilkan kuartil ketiga dari .
Aturan tambahan:
- Input adalah sebagai larik atau padanan terdekat bahasa Anda.
- Anda dapat menganggap array diurutkan dalam urutan naik atau turun (tapi harap tentukan yang mana).
- Anda dapat mengembalikan / mencetak hasil dalam urutan yang konsisten , dan dalam format fleksibel apa pun yang Anda suka, tetapi harap tunjukkan urutan dan format dalam jawaban Anda.
- Fungsi bawaan yang setara dengan
fivenum
diizinkan, tetapi harap juga terapkan solusi Anda sendiri. - Anda mungkin tidak menganggap masing-masing dari lima angka tersebut akan menjadi bilangan bulat.
- Penjelasan didorong.
- Ini kode-golf , jadi jawaban tersingkat di setiap bahasa menang!
Kasus uji yang dihasilkan secara acak
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
mengembalikan vektor bernama, sementarafivenum
tidak disebutkan namanya. Mungkin itu masalah hilir dari manafivenum
digunakan?