rl at openmailbox.org
2014-Sep-15 08:52 UTC
[R] apply block of if statements with menu function
Subscribers,
apply block of if statements with menu function
Subscribers,
For a menu:
menu(c('a','b','c','d'))
How to create a function that will apply to specific menu choice
objects? For example:
object1<-function (menuifchoices) {
menu1<-menu(c('a','b','c','d'))
if (menu1==1)
...
menu1a<-menu...
if (menu1a==1)
...
menu2a<-menu...
if (menu2a==1)
...
menu2
<-menu(c('a','b','c','d'))
if (menu1==2)
...
}
The request action is that a user can select a menu option that will
activate a series of "multiple choice" questions, results in
"menu1"
being activated without menu2 being activated. If someone could direct
to the relevant terminology, thank you.
Separate question; for a menu:
menu(c('a','b','c','d'))
1: a
2: b
3: c
4: d
Selection: 1
[1] 1
is it possible to change behaviour so that result of the selection is
not the integer, but the original menu choice:
Selection: 1
[1] a
I think switch() should work for you here, but it is not clear how much flexibility you are trying to have (different tests based on the first response; different tests based on first, then second response; different tests based on each successive response). ?switch For the second question just index the return value:> let <- letters[1:4] > let[menu(let)]1: a 2: b 3: c 4: d Selection: 3 [1] "c" Or a bit more polished:> cat("Choice: ", let[menu(let)], "\n")1: a 2: b 3: c 4: d Selection: 4 Choice: d ------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77840-4352 -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of rl at openmailbox.org Sent: Monday, September 15, 2014 3:53 AM To: r-help at r-project.org Subject: [R] apply block of if statements with menu function Subscribers, apply block of if statements with menu function Subscribers, For a menu: menu(c('a','b','c','d')) How to create a function that will apply to specific menu choice objects? For example: object1<-function (menuifchoices) { menu1<-menu(c('a','b','c','d')) if (menu1==1) ... menu1a<-menu... if (menu1a==1) ... menu2a<-menu... if (menu2a==1) ... menu2 <-menu(c('a','b','c','d')) if (menu1==2) ... } The request action is that a user can select a menu option that will activate a series of "multiple choice" questions, results in "menu1" being activated without menu2 being activated. If someone could direct to the relevant terminology, thank you. Separate question; for a menu: menu(c('a','b','c','d')) 1: a 2: b 3: c 4: d Selection: 1 [1] 1 is it possible to change behaviour so that result of the selection is not the integer, but the original menu choice: Selection: 1 [1] a ______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.