(bir paradoks, bir paradoks, en ustaca bir paradoks)
Bu, farklı R işlevlerinden esinlenen çok parçalı bir dizinin ilk bölümüdür.
Görev
Bir veri kümesi Verilen pozitif tamsayılar, sana hesaplamamız gerekir 5 sayı özetini arasında . Ancak, ben büyük veri kümeleri üzerinde çalışıyorum, bu yüzden kod bilgisayarımda saklamak için izin, mümkün olduğunca küçük olması gerekir.
Beş sayı özeti aşağıdakilerden oluşur:
- Minimum değer
- İlk çeyrek (1. Çeyrek)
- Medyan / İkinci çeyrek (2. Çeyrek)
- Üçüncü çeyrek (3. Çeyrek)
- Maksimum değer
Çeyrekleri tanımlamanın birkaç farklı yolu vardır, ancak R tarafından uygulananı kullanacağız:
Tanımlar:
- Minimum ve maksimum: sırasıyla en küçük ve en büyük değerler.
- Medyan: eğer orta değer ise girişlerinin bir tek sayı ve iki orta-en değerlerinin aritmetik ortalaması olan girişlerinin hatta sahiptir. Bunun medyanın tamsayı olmayan bir değer olabileceğini unutmayın. Daha önce Medyan'ı Hesaplamak zorunda kaldık .
- Birinci ve Üçüncü Çeyrekler: nin tek sayıda girişi varsa, verileri her yarıdaki merkezi eleman dahil olmak üzere iki yarıya bölün ve her yarının ortanca değerini bulun. Alt yarının ortancası Birinci Çeyrek ve üst yarının ortancası Üçüncü Çeyrek'tir.
Örnekler:
. Medyan daha sonra ve alt yarısı 'dür, ilk çeyrek ' yi verir ve üst yarı , üçüncü çeyreklik ü verir.
. Ortanca ve alt yarısı , ilk çeyrek ve üst yarısı , üçüncü çeyreklik .
Ek kurallar:
- Giriş bir dizi veya dilinizin en yakın karşılığıdır.
- Dizinin artan veya azalan düzende sıralandığını varsayabilirsiniz (ancak lütfen hangisini belirtin).
- Sonuçları tutarlı bir sırayla ve istediğiniz esnek biçimde döndürebilir / yazdırabilirsiniz , ancak lütfen cevabınızdaki sırayı ve formatı belirtin.
- Eşdeğer yerleşik işlevlere
fivenum
izin verilir, ancak lütfen kendi çözümünüzü de uygulayın. - Sen olabilir değil bir tamsayı olacaktır beş sayı her varsayalım.
- Açıklamalar teşvik edilir.
- Bu kod golf , her dilde en kısa cevap kazanır!
Rastgele oluşturulan test senaryoları
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
bir adı döndürürken adlandırılmamış bir vektör döndürüyorfivenum
. Belki de bufivenum
, kullanılan yerin akış aşağısında bir problemdir ?