private float CalcularFrequenciaSimples(float Abertura, float Fim) { float resultado = 0; List <float> resultadosFS = new List <float>(); if (Fim >= ValorMaximo) { resultadosFS = Valores.Where(x => x >= Abertura && x <= Fim).ToList(); resultado = Valores.Where(x => x >= Abertura && x <= Fim).Count(); } else { resultadosFS = Valores.Where(x => x >= Abertura && x < Fim).ToList(); resultado = Valores.Where(x => x >= Abertura && x < Fim).Count(); } Passos.WriteLineAsyncCounter($"{Titulo("Freq. Simples")}: Contagem de valores entre {Abertura} e {Fim} : {resultado}"); Passos.WriteLineAsync($"{GerarTabelaDeFS(resultadosFS)}"); return(resultado); }
private void CalcularFrecuenciasObservadas() { var absolutas = new List <int>(CantidadIntervalos); var relativas = new List <double>(CantidadIntervalos); foreach (var intervalo in Intervalos) { var encontrados = Valores.Where(valor => valor >= intervalo.Inicio && valor < intervalo.Fin); var absoluta = encontrados.Count(); var relativa = (double)absoluta / TamañoMuestra; absolutas.Add(absoluta); relativas.Add(relativa); } //Corrección para contar el máximo valor absolutas[CantidadIntervalos - 1] += 1; relativas[CantidadIntervalos - 1] = (double)absolutas.Last() / TamañoMuestra; FrecuenciasObservadasAbsolutas = absolutas; FrecuenciasObservadasRelativas = relativas; }