Rango intercuartílico (RIC)

Los cuartiles de un conjunto clasificado de valores de datos son tres puntos que dividen los datos en exactamente cuatro partes iguales, cada una de las cuales comprende datos de cuartos. 
 

  1. Q1 se define como el número medio entre el número más pequeño y la mediana del conjunto de datos.
  2. Q2 es la mediana de los datos.
  3. Q3 es el valor medio entre la mediana y el valor más alto del conjunto de datos.
The interquartile range IQR tells us the range 
where the bulk of the values lie. The interquartile 
range is calculated by subtracting the first quartile
from the third quartile. 
IQR = Q3 - Q1

Usos  
1. A diferencia del rango, IQR indica dónde se encuentra la mayoría de los datos y, por lo tanto, se prefiere al rango. 
2. IQR se puede utilizar para identificar valores atípicos en un conjunto de datos. 
3. Da la tendencia central de los datos. 
Ejemplos: 
 

Input : 1, 19, 7, 6, 5, 9, 12, 27, 18, 2, 15
Output : 13
The data set after being sorted is 
1, 2, 5, 6, 7, 9, 12, 15, 18, 19, 27
As mentioned above Q2 is the median of the data. 
Hence Q2 = 9
Q1 is the median of lower half, taking Q2 as pivot.
So Q1 = 5
Q3 is the median of upper half talking Q2 as pivot. 
So Q3 = 18
Therefore IQR for given data=Q3-Q1=18-5=13 

Input : 1, 3, 4, 5, 5, 6, 7, 11
Output : 3

C++

// CPP program to find IQR of a data set
#include <bits/stdc++.h>
using namespace std;
 
// Function to give index of the median
int median(int* a, int l, int r)
{
    int n = r - l + 1;
    n = (n + 1) / 2 - 1;
    return n + l;
}
 
// Function to calculate IQR
int IQR(int* a, int n)
{
    sort(a, a + n);
 
    // Index of median of entire data
    int mid_index = median(a, 0, n);
 
    // Median of first half
    int Q1 = a[median(a, 0, mid_index)];
 
    // Median of second half
    int Q3 = a[mid_index + median(a, mid_index + 1, n)];
 
    // IQR calculation
    return (Q3 - Q1);
}
 
// Driver Function
int main()
{
    int a[] = { 1, 19, 7, 6, 5, 9, 12, 27, 18, 2, 15 };
    int n = sizeof(a)/sizeof(a[0]);
    cout << IQR(a, n);
    return 0;
}

Java

// Java program to find
// IQR of a data set
import java.io.*;
import java .util.*;
 
class GFG
{
     
// Function to give
// index of the median
static int median(int a[],
                  int l, int r)
{
    int n = r - l + 1;
    n = (n + 1) / 2 - 1;
    return n + l;
}
 
// Function to
// calculate IQR
static int IQR(int [] a, int n)
{
    Arrays.sort(a);
 
    // Index of median
    // of entire data
    int mid_index = median(a, 0, n);
 
    // Median of first half
    int Q1 = a[median(a, 0,
                      mid_index)];
 
    // Median of second half
    int Q3 = a[mid_index + median(a,
               mid_index + 1, n)];
 
    // IQR calculation
    return (Q3 - Q1);
}
 
// Driver Code
public static void main (String[] args)
{
    int []a = {1, 19, 7, 6, 5, 9,
               12, 27, 18, 2, 15};
    int n = a.length;
    System.out.println(IQR(a, n));
}
}
 
// This code is contributed
// by anuj_67.

Python3

# Python3 program to find IQR of
# a data set
 
# Function to give index of the median
def median(a, l, r):
    n = r - l + 1
    n = (n + 1) // 2 - 1
    return n + l
 
# Function to calculate IQR
def IQR(a, n):
 
    a.sort()
 
    # Index of median of entire data
    mid_index = median(a, 0, n)
 
    # Median of first half
    Q1 = a[median(a, 0, mid_index)]
 
    # Median of second half
    Q3 = a[mid_index + median(a, mid_index + 1, n)]
 
    # IQR calculation
    return (Q3 - Q1)
 
# Driver Function
if __name__=='__main__':
    a = [1, 19, 7, 6, 5, 9, 12, 27, 18, 2, 15]
    n = len(a)
    print(IQR(a, n))
 
# This code is contributed by
# Sanjit_Prasad

C#

// C# program to find
// IQR of a data set
using System;
 
class GFG
{
     
// Function to give
// index of the median
static int median(int []a,
                int l, int r)
{
    int n = r - l + 1;
    n = (n + 1) / 2 - 1;
    return n + l;
}
 
// Function to
// calculate IQR
static int IQR(int [] a, int n)
{
    Array.Sort(a);
 
    // Index of median
    // of entire data
    int mid_index = median(a, 0, n);
 
    // Median of first half
    int Q1 = a[median(a, 0,
                    mid_index)];
 
    // Median of second half
    int Q3 = a[mid_index + median(a,
            mid_index + 1, n)];
 
    // IQR calculation
    return (Q3 - Q1);
}
 
// Driver Code
public static void Main ()
{
    int []a = {1, 19, 7, 6, 5, 9,
            12, 27, 18, 2, 15};
    int n = a.Length;
    Console.WriteLine(IQR(a, n));
}
}
 
// This code is contributed
// by anuj_67.

PHP

<?php
// PHP program to find IQR of a data set
 
// Function to give index of the median
function median($a, $l, $r)
{
    $n = $r - $l + 1;
    $n = (int)(($n + 1) / 2) - 1;
    return $n + $l;
}
 
// Function to calculate IQR
function IQR($a, $n)
{
    sort($a);
 
    // Index of median of entire data
    $mid_index = median($a, 0, $n);
 
    // Median of first half
    $Q1 = $a[median($a, 0, $mid_index)];
 
    // Median of second half
    $Q3 = $a[$mid_index + median($a, $mid_index + 1, $n)];
 
    // IQR calculation
    return ($Q3 - $Q1);
}
 
// Driver Function
$a = array( 1, 19, 7, 6, 5, 9,
            12, 27, 18, 2, 15 );
$n = count($a);
echo IQR($a, $n);
 
// This code is contributed by mits
?>

Javascript

<script>
 
// javascript program to find
// IQR of a data set
 
// Function to give
// index of the median
function median(a, l , r)
{
    var n = r - l + 1;
    n = parseInt((n + 1) / 2) - 1;
    return parseInt(n + l);
}
 
// Function to
// calculate IQR
function IQR(a , n)
{
    a.sort((a,b)=>a-b);
 
    // Index of median
    // of entire data
    var mid_index = median(a, 0, n);
 
    // Median of first half
    var Q1 = a[median(a, 0,
                      mid_index)];
 
    // Median of second half
    var Q3 = a[mid_index + median(a,
               mid_index + 1, n)];
 
    // IQR calculation
    return (Q3 - Q1);
}
 
// Driver Code
var a = [1, 19, 7, 6, 5, 9,
         12, 27, 18, 2, 15];
var n = a.length;
document.write(IQR(a, n));
 
 
// This code contributed by Princi Singh
</script>

Producción: 
 

13

Referencia  
https://en.wikipedia.org/wiki/Interquartile_range
Este artículo es una contribución de Vineet Joshi . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a contribuido@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *