Exemple #1
0
        public static void zScore(DataGridView dgvDatos, int index, string valorFaltante)
        {
            List <double> listadesordenada = new List <double>();

            for (int i = 0; i < dgvDatos.Rows.Count - 1; i++)
            {
                listadesordenada.Add(Convert.ToSingle(dgvDatos.Rows[i].Cells[index].Value.ToString()));
            }
            double desviacion = Convert.ToDouble(TendenciaCentral.desviacionEstandar(dgvDatos, index, valorFaltante));
            double media      = Convert.ToDouble(TendenciaCentral.mediaNumericos(dgvDatos, index, valorFaltante));

            for (int i = 0; i < dgvDatos.Rows.Count - 1; i++)
            {
                double normalized = (listadesordenada[i] - media) / desviacion;
                dgvDatos.Rows[i].Cells[index].Value = normalized;
            }
        }
Exemple #2
0
        public static void zScoreAbsoluta(DataGridView dgvDatos, int index, string valorFaltante)
        {
            List <double> lista = new List <double>();

            for (int i = 0; i < dgvDatos.Rows.Count - 1; i++)
            {
                lista.Add(Convert.ToSingle(dgvDatos.Rows[i].Cells[index].Value.ToString()));
            }
            double desviacion = Convert.ToDouble(TendenciaCentral.desviacionEstandar(dgvDatos, index, valorFaltante));
            double media = Convert.ToDouble(TendenciaCentral.mediaNumericos(dgvDatos, index, valorFaltante));
            double normalizacion = 0, normalized = 0;
            double contador = dgvDatos.Rows.Count - 1;

            for (int i = 0; i < dgvDatos.Rows.Count - 1; i++)
            {
                normalizacion = normalizacion + Math.Abs(lista[i] - media);
            }
            for (int i = 0; i < dgvDatos.Rows.Count - 1; i++)
            {
                normalized = (lista[i] - media) / (1 / contador * (normalizacion));
                dgvDatos.Rows[i].Cells[index].Value = normalized;
            }
        }
        //Se calcula con la función el coeficiente R de pearson
        public static float calcularCoeficientePearson(DataGridView dgvDatos, DataGridView dgvBivariable, int index1, int index2, string valorFaltante)
        {
            float media1      = TendenciaCentral.mediaNumericos(dgvDatos, index1, valorFaltante);
            float media2      = TendenciaCentral.mediaNumericos(dgvDatos, index2, valorFaltante);
            float desviacion1 = TendenciaCentral.desviacionEstandar(dgvDatos, index1, valorFaltante);
            float desviacion2 = TendenciaCentral.desviacionEstandar(dgvDatos, index2, valorFaltante);
            float sumatoria   = 0;
            float n           = dgvBivariable.Rows.Count - 1;

            for (int i = 0; i < n; i++)
            {
                string value1 = dgvBivariable.Rows[i].Cells[0].Value.ToString();
                string value2 = dgvBivariable.Rows[i].Cells[1].Value.ToString();
                if (!string.IsNullOrEmpty(value1) && !string.IsNullOrEmpty(value2) && value1 != valorFaltante && value2 != valorFaltante)
                {
                    sumatoria += (Convert.ToSingle(dgvBivariable.Rows[i].Cells[0].Value.ToString()) - media1) *
                                 (Convert.ToSingle(dgvBivariable.Rows[i].Cells[1].Value.ToString()) - media2);
                }
            }

            sumatoria = sumatoria / (n * desviacion1 * desviacion2);
            return(sumatoria);
        }