More Efficient Use of Switch Statement

• To: mathgroup at smc.vnet.net
• Subject: [mg122764] More Efficient Use of Switch Statement
• From: Darrel <dbarbato2 at gmail.com>
• Date: Thu, 10 Nov 2011 06:50:55 -0500 (EST)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com

```Hi, As a beginner to Mathematica I have a question on whether there is
a more efficient way to do what I'm trying to do. I have something
similar to the following data:

dat = {{"BAD", "A", 2010, "October", "4 PM - 5 PM", 13},
{"BAD", "A", 2011, "April", "4 PM - 5 PM", 9},
{"BAD", "A", 2010, "December", "5 PM - 6 PM", 4},
{"BAD", "A", 2010, "October", "10 PM - 11 PM", 0},
{"BAD", "B", 2011, "October", "3 PM - 4 PM", 10},
{"BAD", "E", 2010, "April", "7 PM - 8 PM", 10},
{"BAD", "A", 2010, "October","Noon - 1 PM", 17},
{"BAD", "A", 2010, "October", "Noon - 1 PM",2},
{"BAD", "C", 2010, "July", "7 PM - 8 PM", 12},
{"GOOD", "A", 2010, "October", "5 PM - 6 PM", 5}}

I also have some manipulate code that looks like the following:

Manipulate[
Switch[
{rating, year, month, type},
{"All Ratings", "All Years", "All Months", "All Types"},
Framed[forumData[[All, 6]]],
{"All Ratings", "All Years", "All Months", _},
Map[If[#[[2]] == type, Framed[#[[6]]], ""] &, forumData]
],
*******(many more options)*****************
{{rating, "All Ratings", "Rating"}, {"GOOD", "BAD", "All Ratings"},
{{year, "All Years", "Year"}, {2010, 2011, "All Years"}, ControlType -
{{month, "All Months", "Month"}, {"January", "February", "March",
"April", "May", "June", "July", "August", "September", "October",
"November", "December", "All Months"}},
{{type, "All Types", "Type"}, {"A", "B", "C", "D", "E", "All Types"}}
]

In reality, the code gets long fairly fast because I have even more
data than I have listed here that I want to have as options in the
manipulate. For most of the options I need this "All Types","All
Years",etc. selection to be an option for the user which leads to a
very messy and lengthy switch statement.
Is there a more efficient way of writing this code to avoid the
exhaustive approach, that I have here?

Thanks for the help.
Darrel

```

• Prev by Date: Re: Simulate and plot geometric brownian motion
• Next by Date: Re: How to eliminate noises? A better way perhaps.
• Previous by thread: References for ZipfDistribution and References in help pages in general
• Next by thread: Re: Graphics << Implicit vs ContourPlot