public static void MakeDropDownAndFirstFive(SelectTypeVM selectTypeVM) { selectTypeVM.Types = new SelectList(new List <string> { "categorical", "numeral", "exclude", "date time" }); List <List <string> > firstFive = new List <List <string> >(); //*************** using (TextReader fileReader = System.IO.File.OpenText(selectTypeVM.Path)) { var parser = new CsvParser(fileReader); firstFive.Add(parser.Read().ToList()); int count = 0; while (count < 5) { var row = parser.Read(); firstFive.Add(row.ToList()); count += 1; } } //******************* selectTypeVM.FirstFiveRows = firstFive; }
public static SelectTypeVM MakeSelectType(UploadVM vm, string path) { var fileName = Path.GetFileName(vm.File.FileName); vm.File.SaveAs(path); SelectTypeVM selectTypeVM = new SelectTypeVM(); selectTypeVM.Path = path; selectTypeVM.ColumnTypes = new Dictionary <string, string>(); string line1 = System.IO.File.ReadLines(selectTypeVM.Path).First(); string[] values = line1.Split(','); for (var i = 0; i < values.Length; i++) { selectTypeVM.ColumnTypes.Add(values[i].Replace("\"", ""), ""); } MakeDropDownAndFirstFive(selectTypeVM); return(selectTypeVM); }
public static StatSummaryVM GetSummaryVM(Dictionary <string, List <string> > dictFile, SelectTypeVM vm) { ApplicationDbContext _context = new ApplicationDbContext(); List <string> checkedColumns = new List <string>(); List <ChiStats> chiStatsList = new List <ChiStats>(); List <AnovaStats> anovaStatsList = new List <AnovaStats>(); List <PearsonCorr> pearsonCorrelations = new List <PearsonCorr>(); List <DateAndCategory> dateAndCategories = new List <DateAndCategory>(); List <DateAndNumeral> dateAndNumerals = new List <DateAndNumeral>(); StatSummaryVM statsSummary = new StatSummaryVM(); foreach (KeyValuePair <string, List <string> > entry in dictFile) { foreach (KeyValuePair <string, List <string> > entryCompare in dictFile) { var checkedKey = Methods.ConcatAlph(entry.Key, entryCompare.Key); if (entry.Key == entryCompare.Key || checkedColumns.Contains(checkedKey) || (entry.Value.Count != entryCompare.Value.Count) || (vm.ColumnTypes[entry.Key] == "exclude" || vm.ColumnTypes[entryCompare.Key] == "exclude")) { continue; } if ((vm.ColumnTypes[entry.Key] == "date time" || vm.ColumnTypes[entryCompare.Key] == "date time") && (vm.ColumnTypes[entry.Key] == "categorical" || vm.ColumnTypes[entryCompare.Key] == "categorical")) { DateAndCategory dateCat = new DateAndCategory(); if (vm.ColumnTypes[entry.Key] == "date time") { dateCat.GetLinePlotData(entry.Value, entryCompare.Value); } else { dateCat.GetLinePlotData(entryCompare.Value, entry.Value); } dateCat.Variable1 = entry.Key; dateCat.Variable2 = entryCompare.Key; dateAndCategories.Add(dateCat); //_context.SaveChanges(); } if ((vm.ColumnTypes[entry.Key] == "date time" || vm.ColumnTypes[entryCompare.Key] == "date time") && (vm.ColumnTypes[entry.Key] == "numeral" || vm.ColumnTypes[entryCompare.Key] == "numeral")) { DateAndNumeral dateNum = new DateAndNumeral(); if (vm.ColumnTypes[entry.Key] == "date time") { dateNum.MakeDataBlob(entry.Value, entryCompare.Value); dateNum.DateName = entry.Key; dateNum.NumeralName = entryCompare.Key; } else { dateNum.MakeDataBlob(entryCompare.Value, entry.Value); dateNum.DateName = entryCompare.Key; dateNum.NumeralName = entry.Key; } dateAndNumerals.Add(dateNum); //_context.SaveChanges(); } if (vm.ColumnTypes[entry.Key] == "categorical" && vm.ColumnTypes[entryCompare.Key] == "categorical") { ChiStats chiStats = new ChiStats(); chiStats.GetChiStat(entry.Value, entryCompare.Value); chiStats.Variable1 = entryCompare.Key.Replace("\"", ""); chiStats.Variable2 = entry.Key.Replace("\"", ""); chiStatsList.Add(chiStats); //_context.ChiStats.Add(chiStats); //_context.SaveChanges(); } if ((vm.ColumnTypes[entry.Key] == "categorical" || vm.ColumnTypes[entryCompare.Key] == "categorical") && (vm.ColumnTypes[entry.Key] == "numeral" || vm.ColumnTypes[entryCompare.Key] == "numeral")) { AnovaStats anovaStats = new AnovaStats(); if (vm.ColumnTypes[entry.Key] == "numeral") { anovaStats.GetAnovaStats(entryCompare.Value, entry.Value); anovaStats.CategoricalVariable = entryCompare.Key; anovaStats.NumericalVariable = entry.Key; anovaStatsList.Add(anovaStats); } else { anovaStats.GetAnovaStats(entry.Value, entryCompare.Value); anovaStats.CategoricalVariable = entry.Key; anovaStats.NumericalVariable = entryCompare.Key; anovaStatsList.Add(anovaStats); } //anovaStats.SaveStat(); _context.AnovaStats.Add(anovaStats); _context.SaveChanges(); } if (vm.ColumnTypes[entry.Key] == "numeral" && vm.ColumnTypes[entryCompare.Key] == "numeral") { PearsonCorr pearsonCorr = new PearsonCorr(); pearsonCorr.Variable1 = entry.Key; pearsonCorr.Variable2 = entryCompare.Key; pearsonCorr.ComputeCoeff(entry.Value, entryCompare.Value); pearsonCorrelations.Add(pearsonCorr); _context.SaveChanges(); } checkedColumns.Add(checkedKey); } } statsSummary.Name = vm.Name != null ? vm.Name : "Untitled"; statsSummary.Description = vm.Description != null ? vm.Description : "no description available"; statsSummary.AnovaStats = anovaStatsList; statsSummary.ChiStats = chiStatsList; statsSummary.PearsonCorrs = pearsonCorrelations; statsSummary.DateAndCatories = dateAndCategories; statsSummary.DateAndNumerals = dateAndNumerals; statsSummary.Path = vm.Path; statsSummary.FileName = vm.FileName; return(statsSummary); }