public void Execute(Selection selection, string[] args, AbstractTableWriter writer) { if (args == null || args.Length < 2) { return; } var vm = new CooccurrenceSelectiveViewModel { Selection = selection, LayerDisplayname = args[0] }; var res = new Dictionary <string, Dictionary <string, double[]> >(); for (var i = 1; i < args.Length; i++) { vm.LayerQueries = new[] { args[i] }; vm.Execute(); res.Add(args[i], vm.FrequencySignificanceDictionary); } var tbl = new DataTable(); tbl.Columns.Add(Resources.WordA, typeof(string)); tbl.Columns.Add(Resources.WordB, typeof(string)); tbl.Columns.Add(Resources.Frequency, typeof(double)); tbl.Columns.Add(Resources.Significance, typeof(double)); tbl.BeginLoadData(); foreach (var e in res) { foreach (var v in e.Value) { tbl.Rows.Add(e.Key, v.Key, v.Value[0], v.Value[1]); } } tbl.EndLoadData(); writer.WriteTable(selection.Displayname, tbl); }
public void Execute(Selection selection, string[] args, AbstractTableWriter writer) { if (args == null || args.Length < 4) { return; } var arguments = args.ToList(); var layer1 = arguments[0]; arguments.RemoveAt(0); var layer1value = arguments[0]; arguments.RemoveAt(0); var layer2 = arguments[0]; arguments.RemoveAt(0); var layer2values = new HashSet <string>(arguments); var vm = new CooccurrenceSelectiveViewModel { Selection = selection, LayerDisplayname = layer1, LayerQueries = new[] { layer1value } }; vm.CorrespondingLayerValueFilter = new CorrespondingLayerValueFilterViewModel { Layer1Displayname = layer1, Layer2Displayname = layer2, AnyMatch = true, Layer2ValueFilters = layer2values, Selection = selection }; vm.CorrespondingLayerValueFilter.Execute(); vm.Execute(); writer.WriteTable(selection.Displayname, vm.GetDataTable()); }