private void btnArchivo_Click(object sender, EventArgs e) { if (Validar_btnArchivo()) { try { CargarDocumentos_E objcd = new CargarDocumentos_E(); TipoDato_E objtd = new TipoDato_E(); objcd.data = CargaDocumento(); if (objcd.data != null) { objtd.tipodato = ValidarTipoDato(objcd.data); if (objtd.tipodato == 0) { CargaDatos(objcd.data); } else if (objtd.tipodato == 1) { MessageBox.Show("Se encontraron datos numericos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (objtd.tipodato == 2) { MessageBox.Show("Se encontraron datos no numericos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } catch (Exception ex) { throw ex; } } }
private void btnRefrescar_Click(object sender, EventArgs e) { CargarDocumentos_E objcd = new CargarDocumentos_E(); TipoDato_E objtd = new TipoDato_E(); objcd.data = null; objcd.ruta = openFileDialog.FileName; dtgvFrecuenciaRelativa.Rows.Clear(); objcd.data = File.ReadAllLines(objcd.ruta); if (objcd.data != null) { objtd.tipodato = ValidarTipoDato(objcd.data); if (objtd.tipodato == 0) { CargaDatos(objcd.data); } else if (objtd.tipodato == 1) { MessageBox.Show("Se encontraron datos numericos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (objtd.tipodato == 2) { MessageBox.Show("Se encontraron datos no numericos", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
private void btnTendeciaCentral_Click(object sender, EventArgs e) { List <TablaFrecuencia_E> DataFinal = new List <TablaFrecuencia_E>(); DataFinal = RecuperarDatos(); if (DataFinal.Count == 0) { MessageBox.Show("Se deben cargar datos previamente", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { CargarDocumentos_E objcd = new CargarDocumentos_E(); TipoDato_E objtd = new TipoDato_E(); objcd.data = null; objcd.ruta = openFileDialog.FileName; objcd.data = File.ReadAllLines(objcd.ruta); List <decimal> lststring = new List <decimal>(); foreach (var item in objcd.data) { lststring.Add(Decimal.Parse(item)); } decimal[] array = lststring.ToArray(); Form frombarra = new TendenciaCentral(DataFinal, array); frombarra.Show(); } }
public void CargaDatos(string[] data) { TipoDato_E objtd = new TipoDato_E(); foreach (string item in data) { if (rbnTexto.Checked) { objtd.datatexto.Add(item); } if (rbnNumerico.Checked) { objtd.datadecimal.Add(decimal.Parse(item.Replace('.', ','))); } } List <TablaFrecuencia_E> xi_fi = new List <TablaFrecuencia_E>(); if (rbnSinIntervalo.Checked) { if (rbnTexto.Checked) { xi_fi = objtd.datatexto.GroupBy(x => x) .Select(y => new TablaFrecuencia_E { strxi = y.Key, fi = y.Count() }) .OrderBy(z => z.strxi).AsEnumerable().ToList(); } if (rbnNumerico.Checked) { xi_fi = objtd.datadecimal.GroupBy(x => x) .Select(y => new TablaFrecuencia_E { xi = y.Key, fi = y.Count() }) .OrderBy(z => z.xi).AsEnumerable().ToList(); } } if (rbnConIntervalo.Checked) { Intervalo_E objint = new Intervalo_E(); objint.numintervalo = Convert.ToInt32(txtInvertavalos.Text); objint.intervalo = Convert.ToDecimal(txtIntervaloSuperior.Text.Replace('.', ',')) - Convert.ToDecimal(txtIntervaloInferior.Text.Replace('.', ',')); objint.intinf = Convert.ToDecimal(txtIntervaloInferior.Text.Replace('.', ',')); objint.intsup = Convert.ToDecimal(txtIntervaloSuperior.Text.Replace('.', ',')); objint.fi = 0; for (int i = 0; i < objint.numintervalo; i++) { List <TablaFrecuencia_E> aux_xi_fi = new List <TablaFrecuencia_E>(); aux_xi_fi = objtd.datadecimal.GroupBy(x => x) .Select(y => new TablaFrecuencia_E { xi = y.Key, fi = y.Count() }) .Where(z => z.xi >= objint.intinf && z.xi <= objint.intsup).ToList(); objint.fi = aux_xi_fi.Select(x => x.fi).Sum(); decimal tmpxi = objint.intinf; decimal indexxi = objint.intinf; int numintervalo = 1; while (indexxi < objint.intsup) { bool isNumeric = int.TryParse(objint.intinf.ToString(), out int n); if (isNumeric) { indexxi++; tmpxi += indexxi; numintervalo++; } else { indexxi = indexxi + Convert.ToDecimal(0.01); tmpxi += indexxi; numintervalo++; } } TablaFrecuencia_E xi = new TablaFrecuencia_E { strxi = string.Concat(objint.intinf, " - ", objint.intsup), xi = tmpxi / numintervalo, fi = objint.fi }; objint.intinf = objint.intsup + (objint.intervalo >= 1 ? 1 : Convert.ToDecimal(0.01)); objint.intsup += objint.intervalo + (objint.intervalo >= 1 ? 1 : Convert.ToDecimal(0.01)); xi_fi.Add(xi); } } int xicount = xi_fi.Select(x => x.fi).Sum(); var hi = xi_fi.Select(x => new { x.strxi, x.xi, x.fi, hi = Math.Round((decimal)x.fi / xicount, 3) }).ToList(); int Fi = 0; decimal Hi = 0; for (int i = 0; i < hi.Count; i++) { dtgvFrecuenciaRelativa.Rows.Add(); int y = 0; if (rbnSinIntervalo.Checked) { if (rbnTexto.Checked) { dtgvFrecuenciaRelativa[y++, i].Value = hi[i].strxi; } if (rbnNumerico.Checked) { dtgvFrecuenciaRelativa[y++, i].Value = hi[i].xi; } y++; } if (rbnConIntervalo.Checked) { dtgvFrecuenciaRelativa[y++, i].Value = hi[i].strxi; dtgvFrecuenciaRelativa[y++, i].Value = hi[i].xi; } Fi += hi[i].fi; Hi += hi[i].hi; dtgvFrecuenciaRelativa[y++, i].Value = hi[i].fi; dtgvFrecuenciaRelativa[y++, i].Value = Fi; dtgvFrecuenciaRelativa[y++, i].Value = hi[i].hi; dtgvFrecuenciaRelativa[y++, i].Value = Hi; } }