• Domingo 22 de Diciembre de 2024, 09:34

Autor Tema:  Como Puedo Sacar Funciones Estadisticas???  (Leído 1547 veces)

mustang

  • Miembro MUY activo
  • ***
  • Mensajes: 133
    • Ver Perfil
Como Puedo Sacar Funciones Estadisticas???
« en: Martes 11 de Enero de 2005, 02:06 »
0
que tal de nuevo molestando con mis novatadas, pero necesito obtener algunas funciones de estadistica para un programa, los datos los tengo ke obtener en base al resultado de un query ke ejecuto sobre unas tablas y aventando el resultado en un dbgrid, ya mas o menos tengo el codigo para sacar la moda ke es el dato ke mas se repite en una columna pero no logro obtenerlo, aparte tengo ke sacar el crecimiento poblacional en base a otras columnas del mismo query, si alguien tiene el codigo o sabe si existen funciones ya hechas para tales casos se lo agradecere, muchisimas gracias de nuev, pongo el pedazo de codigo para segun yo obtener la moda, aunke no me sale

Código: Text
  1.  
  2. begin
  3.  query1.first;
  4.  edadant:=query1.fieldbyname('Edad').Value;
  5.  cuantos:=1;
  6.  cuantosmoda:=cuantos;
  7.  edadmoda:=query1.fieldbyname('Edad').Value;
  8.  query1.Next;
  9.  while Query1.Eof=False do
  10.       begin
  11.       showmessage('edadant trae '+Inttostr(edadant)+' y area actual es '+query1.fieldbyname('Edad').AsString);
  12.       if edadant=query1.fieldbyname('Edad').Value then
  13. //          showmessage('El dato NO cambio');
  14.           begin
  15.           cuantos:=cuantos+1;
  16. //          cuantosmoda:=cuantos;
  17.           showmessage('Cuantos moda trae '+IntToStr(cuantosmoda));
  18.           end
  19.       else
  20.           if cuantos > cuantosmoda then
  21.            begin
  22. //            showmessage('El dato cambio');
  23.             cuantosmoda:=cuantos;
  24.             edadmoda:=edadant;
  25.             showmessage('Cuantosmoda lleva '+ IntToStr(cuantosmoda));
  26.             showmessage('Edadmoda trae '+ IntToStr(edadmoda));
  27.             end;
  28.     if edadant<>query1.fieldbyname('Edad').Value then
  29.         cuantos:=1;
  30.     edadant:= query1.fieldbyname('Edad').Value;
  31.     query1.Next;
  32.     end;
  33.   if cuantos>cuantosmoda then
  34.       begin
  35.        cuantosmoda:=cuantos;
  36.        edadmoda:=edadant;
  37.        end;
  38.  end;
  39.  showmessage('Edad moda es '+ IntToStr(edadant)+' y se repite ' + IntToStr(cuantosmoda));
  40.  
  41.  
gracias de nuevo  :hola:
El camino del exceso lleva al palacio de la sabiduria.....(William Blake)

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Como Puedo Sacar Funciones Estadisticas???
« Respuesta #1 en: Miércoles 12 de Enero de 2005, 21:21 »
0
Necesitas guardar las frecuencias en una lista para que funcione.

ej. frecuencia de letras

Letra, Frecuencia:

A 11
B 12
G 1
E 2
H 0

Moda: B con 12

A 5
B 5
G 3
E 2
H 0

Moda: Sin moda o devuelves A y B con 5, dependiendo de lo que necesites.