Buenas tardes.
Como no tenia nada mejor que hacer, solo grabarme algunas formulas de estadística, decidí crear un código en Python para realizar esos tres cálculos (Promedio Varianza y Desviación estándar), solo introduciendo los números separándolos por una coma
El código es el siguiente:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
######Este es un "corto" programa para
######Calcular promedio; varianza y desviación estándar
######################################
def _promedio():
vcdda = cadenadedatos.get()
vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
lista = eval(vforlis) #esto trasforma mi cadena en lista
A = len(lista)
suma=0
if A>1:
for i in lista:
suma += i
p = ((suma+0.0)/(A+0.0))
vpp = Label(ventana, text="El promedio es de=\n"+str(p), justify=CENTER)
vpp.grid(row=3, column=2,)
else:
tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar el promedio.\nIntrodusca más datos; gracias")
######################################
def _varianza():
vcdda = cadenadedatos.get()
vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
lista = eval(vforlis) #esto trasforma mi cadena en lista
lista2 = []
A = len(lista)
suma=0
varis=0
if A>1:
for i in lista:
suma += i
p = ((suma+0.0)/(A+0.0))
for j in range((A)):
sumat = (lista[j]-p)**2
lista2.append(sumat)
for k in lista2:
varis += k
vari = varis
va = ((vari+0.0)/(A+0.0))
vp = Label(ventana, text="La varianza es de=\n"+str(va), justify=CENTER)
vp.grid(row=4, column=2,)
else:
tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar la varianza.\nIntrodusca más datos; gracias")
###########################
def _desest():
vcdda = cadenadedatos.get()
vforlis = "["+vcdda+"]" ###esto me crea una cadena para formar mi lista
lista = eval(vforlis) #esto trasforma mi cadena en lista
lista2 = []
A = len(lista)
suma=0
varis=0
if A>1:
for i in lista:
suma += i
p = ((suma+0.0)/(A+0.0))
for j in range((A)):
sumat = (lista[j]-p)**2
lista2.append(sumat)
for k in lista2:
varis += k
vari = varis
va = sqrt((vari+0.0)/(A+0.0))
vb = Label(ventana, text="La desviacion estandar es de=\n"+str(va), justify=CENTER)
vb.grid(row=5, column=2,)
else:
tkMessageBox.showerror("Datos insuficientes", "No han sido incluidos suficientes datos como para realizar la desviación estándar.\n introduzca más datos; gracias")
####################
from math import*
from Tkinter import*
import tkMessageBox
ventana = Tk()
ventana.title("Cálculos estadísticos básicos")
####Definiendo algunas variables###
cadenadedatos = StringVar()
li = "Introduzca datos separándolos con una coma\nluego, pulse el botón del calculo a realizar\nGracias."
oA="Promedio"
oB="Varianza"
oC="Desviación\nEstándar"
#####Elementos de ventana####
ll = Label(ventana, text=li)
eli = Entry(ventana, textvariable=cadenadedatos, xscrollcommand=5)
b1 = Button(ventana, text=oA, command=_promedio)
b2 = Button(ventana, text=oB, command=_varianza)
b3 = Button(ventana, text=oC, command=_desest)
#### Conlocandolos en la grilla######
ll.grid(row=0, column=1, columnspan=3)
eli.grid(row=1, column=2)
b1.grid(row=2, column=1)
b2.grid(row=2, column=2)
b3.grid(row=2, column=3)
ventana.mainloop()
Y aquí unas vistas del programa:
(http://mzgy4a.bay.livefilestore.com/y1pq8ktmfGMmIOfC_Mh9T3eBlHn6GNveCqkk_DZLS-UnbD69piBWhkxLK7htyUIM2XHDM8KClIibPXcYCe_wkke4VprJ_TGwqU0/2C%C3%A1lculos_estad%C3%ADsticos_b%C3%A1sicos.png)(http://mzgy4a.bay.livefilestore.com/y1pKtBp4-tHWQsMp_bm5Ze4Gpxu8PsOfJL1WndLydgidBmNGMG3LWFG6QM1BaTDsKi4N-lcPpZCwGJGTA8G8ndM6fUti8m-MwXA/C%C3%A1lculos_estad%C3%ADsticos_b%C3%A1sicos.png)
Se aceptan sugerencias. :D