En esta ocasión se trata de realizar un ejercicio tipo del título del artículo. Para ello se usa numpy para hacer los cálculos y se crean con funciones de python, que contienen código LaTeX, las tablas de frecuencias. Para realizar los gráficos se ha usado matplotlib (gráfico de barras y de sectores).
- Fichero en formato LyX con el código python necesario para hacerlo.
- Fichero en formato pdf que se obtiene como resultado de compilar el fichero anterior.
En el fichero LyX solo se tiene que cambiar:
La línea:
#valor de redondeo r=3 #número de datos con los que trabajar #si se definen los valores como en la 3ª opción se sobreescribe este valor n_datos=88
Se puede optar por realizar el ejercicio con tres opciones:
- A partir del número de datos anterior obtenemos una array de numpy aleatorio entre los valores máximo y mínimo, tenemos que dar esos valores en el programa, se trata de y .
- Podemos optar por que el array aleatorio sea “normal” (aunque de enteros), en ese caso tenemos que optar por la media y desviación típica de las que partimos.
- Se puede optar por definir los datos de forma manual, en ese caso se tienen que poner/modificar en los que hay de ejemplo.
El código usado para esto es:
#poner 1, 2 o 3 para optar por una de las opciones anteriores opcion=2 if opcion==1: m=160 M=186 #no entra # se crea el array de datos aleatorios de números enteros datos=np.random.randint(m,M,n_datos) elif opcion==2: mu=170 sigma=8 fdatos=np.random.normal(mu, sigma, size=n_datos) #paso los datos obtenidos a enteros datos=fdatos.astype(int) else: datos=np.array([184, 160, 165, 173, 182, 172, 172, 170, 177, 166, 163, 163, 176, 172, 173, 179, 164, 168, 169, 160, 171, 177]) n_datos=len(datos)
Para obtener el número de intervalos, se usa la Regla de Sturges, aunque luego puede que se cambie un poco dependiendo del último valor de los datos y del extremo superior del último intervalo.
#número de intervalos, se usa la Regla de Sturges # Si la parte entera de k es un número impar, redondeamos a la baja k = 1 + log(n_datos,2) if int(k) % 2 == 0: ni = ceil(k) else: ni = int(k)
Si se opta por la opción 2, se puede obtener un ejercicio del tipo:
Se ha analizado la estatura (en cm) del alumnado de 1º bachillerato de este centro y se obtienen los siguientes valores
165, 162, 157, 166, 175, 165, 180, 164, 173, 164, 183, 179, 158, 154, 167, 171, 175, 159, 178, 160, 171, 164, 168, 165, 165, 176, 165, 164, 174, 170, 182, 164, 169, 160, 193, 165, 167, 176, 166, 164, 174, 170, 177, 184, 167, 175, 179, 167, 188, 171, 166, 174, 161, 175, 162, 190, 176, 181, 176, 166, 179, 162, 173, 168, 172, 175, 187, 152, 171, 165, 171, 184, 172, 171, 176, 177, 182, 168, 172, 166, 186, 166, 185, 180, 180, 184, 179, 170.
- Completa la tabla de frecuencias tomando los siguientes intervalos 152, 158 158, 164 164, 170 170, 176 176, 182 182, 188 188, 194
- Calcula las medidas de centralización: intervalo modal y media.
- Calcula las medidas de dispersión: desviación típica y coeficiente de variación.
- Representa la distribución utilizando un histograma de frecuencias.
que daría de resultado:
Tabla de frecuencias
152,158 155.00 3 3 0.03 0.03 3.41 158,164 161.00 8 11 0.09 0.12 9.09 164,170 167.00 27 38 0.31 0.43 30.68 170,176 173.00 22 60 0.25 0.68 25.00 176,182 179.00 16 76 0.18 0.86 18.18 182,188 185.00 9 85 0.10 0.97 10.23 188,194 191.00 3 88 0.03 1.00 3.41 88 Medidas de centralización pedidas
152,158 155.00 3 465.00 72075.00 158,164 161.00 8 1288.00 207368.00 164,170 167.00 27 4509.00 753003.00 170,176 173.00 22 3806.00 658438.00 176,182 179.00 16 2864.00 512656.00 182,188 185.00 9 1665.00 308025.00 188,194 191.00 3 573.00 109443.00 88 15170.00 2621008.00 Intervalo/os modal/es: 164, 170 se corresponde/en con el/los intervalo/s de frecuencia
Media:
Medidas de dispersión pedidas