الانتقال إلى المحتوى الرئيسي

quantileExactExclusive

أُضيفت في: v20.1.0 على غرار quantileExact، تحسب هذه الدالة الكوانتايل الدقيق لتسلسل من البيانات الرقمية. تعادل هذه الدالة quantileExact، لكنها تستخدم الأسلوب الاستبعادي في حساب الكوانتايلات، كما هو موضح في الطريقة R-6. عند استخدام هذه الدالة، يُحسَب الكوانتايل بحيث تأخذ صيغة الاستيفاء لكوانتايل معيّن p الشكل التالي: x[floor(n*p)] + (n*p - floor(n*p)) * (x[floor(n*p)+1] - x[floor(n*p)])، حيث إن x هي المصفوفة المرتبة. للحصول على القيمة الدقيقة، تُجمَع جميع القيم المُمرَّرة في مصفوفة، ثم تُرتَّب بالكامل. ويبلغ تعقيد خوارزمية الترتيب O(N·log(N))، حيث إن N = std::distance(first, last). عند استخدام عدة دوال quantile* بمستويات مختلفة في استعلام، لا تُدمَج الحالات الداخلية (أي إن الاستعلام يعمل بكفاءة أقل مما يمكن أن يعمل به). في هذه الحالة، استخدم الدالة quantiles. البنية
quantileExactExclusive(level)(expr)
المعلمات
  • level — مستوى الكوانتايل. عدد ثابت بفاصلة عائمة من 0 إلى 1 (على سبيل الحصر). نوصي باستخدام قيمة level ضمن النطاق (0.01, 0.99). Float*
الوسائط
  • expr — تعبير على قيم العمود ينتج عنه أنواع بيانات رقمية أو Date أو DateTime. (U)Int* أو Float* أو Decimal* أو Date أو DateTime
القيمة المُعادة يعيد الكوانتايل عند المستوى المحدد. Float64 أمثلة حساب الكوانتايل الحصري الدقيق
Query
SELECT quantileExactExclusive(0.25)(number) FROM numbers(5);
Response
┌─quantileExactExclusive(0.25)(number)─┐
│                                  0.5 │
└──────────────────────────────────────┘
حساب عدة مستويات للكوانتايل
Query
SELECT quantileExactExclusive(0.1)(number), quantileExactExclusive(0.9)(number) FROM numbers(10);
Response
┌─quantileExactExclusive(0.1)(number)─┬─quantileExactExclusive(0.9)(number)─┐
│                                 0.4 │                                 8.6 │
└─────────────────────────────────────┴─────────────────────────────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦