close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 15 years ago

Closed 14 years ago

#374 closed task (fixed)

Crear un método para obtener el resumen de un dataset

Reported by: Pedro Gea Owned by: Pedro Gea
Priority: major Milestone: Release 0.6
Component: General Keywords:
Cc:

Description

De manera análoga a como se hizo con el modelo (#190) se solicita la creación de un método que devuelva un resumen del dataset.

Change History (5)

comment:1 Changed 15 years ago by Pedro Gea

(In [1963]) Se crea el método GetSummary para @DataSet.
El método devuelve información sobre las variables y basevariables manteniendo
cierta analogía con el resumen del modelo.
Sin embargo, en lugar de cuantos objetos activos hay en el total se
devuelve cuantos son independientes (quizá se podría proponer otra cosa).
La información se detalla (como se hacía con los parámetros) según los tipos de
variables (tipo de los datos).
Refs #374

comment:2 Changed 15 years ago by livanr68

(In [1979]) refs #374
Se fija un error que ocurría en caso de que el Data Set no tuviera variables o variables base.

comment:3 Changed 14 years ago by atorre

No sé si este es el sitio correcto para mi comentario. Si no lo es, abro otro ticket.

A parte del resumen, yo hecho en falta el acceso rápido a las estadísticas básicas de cada variable. He hecho algunas funciones que, creo, se podrían añadir como métodos de objetos y como opciones de botón derecho.

Las funciones para MMS, serían:

Para acceder a las estadísticas de una variable
Set VarStat(NameBlock var)
{

Text name = var::GetName(?);
Text gram = var::GetGrammar(?);
Set stat = Case(

gram == "Matrix", ColStat(var::GetData(?)),
gram == "Serie", SerStat(var::GetData(?)),
1,
{

WriteLn("VarStat:\n gramatica "+ name +" desconocida para la variable "+

name, "E");

Copy(Empty)

});

name ? << stat

};

Para acceder a las estadísticas de todas las variables de un DataSet
Set DataSet_VarStat(NameBlock dataSet)
{

Set sStat = EvalSet(dataSet::GetVariables(?), Set(NameBlock var)
{

VarStat(var)

});
Eval("Set "+ dataSet::GetIdentifier(?) +".stat = sStat;")

};

Las funciones que devuelven los estadísticos:


Set ColStat(Matrix mat)

{

Real row = Rows(mat);
Matrix matCol = SubCol(mat, 1 ?);
Real num = row;
Real avr = MatAvr(matCol);
Real sum = MatSum(matCol);
Real stD = MatStDs(matCol);
Real min = MatMin(matCol);
Real max = MatMax(matCol);
Real unk = MatSum(IsUnknown(matCol));
Text name = Name(mat);
Text name2Show = If(name == "", "colStat", name);
Eval("Set "+ name2Show+" = num, avr, sum, stD, min, max, unk ?;")

};

PutDescription("
Devuelve un conjunto de estadisticos para la primera columna de una matriz.",
ColStat);


Set SerStat(Serie ser)

{

Real num = CountS(ser);
Real avr = AvrS(ser);
Real sum = SumS(ser);
Real stD = StDsS(ser);
Real min = MinS(ser);
Real max = MaxS(ser);
Real unk = SumS(IsUnknown(ser));
Text name = Name(ser);
Text name2Show = If(name == "", "serStat", name +".Stat");
Eval("Set "+ name2Show +" = num, avr, sum, stD, min, max, unk ?;")

};

PutDescription("
Devuelve un conjunto de estadisticos para una serie.",
SerStat);


comment:4 Changed 14 years ago by Pedro Gea

No, la verdad es que no era el sitio apropiado, de hecho había pasado por alto este comentario. Lo coloco en un nuevo tique: #547.

comment:5 Changed 14 years ago by Pedro Gea

Resolution: fixed
Status: newclosed

Véase también el tique #440.

Note: See TracTickets for help on using tickets.