eval.parameters {RandomFields}R Documentation

Interactive menu

Description

eval.parameters provides an interactive menu on a X11 graphical device of R

Usage

eval.parameters(variable, entry, update, simulate, dev, create = TRUE, 
		col.rect = "red", col.bg = "blue", col.sep = "grey", 
                col.left = "red", col.mid = "white", col.right = "white", 
                col.line = "red", col.txt = "black",
                cex=0.8, cex.i=cex, sep="-----", ...)

Arguments

variable

string. The name of the variable to be changed. The name consist of $ and [[]] expression pointing to sublists of a list. The complete list must be given by name in ...

entry

A list of lists. See Details.

update

logical. If TRUE then simulate is called after each interactive input.

simulate

function that is called if simulations are to updated. The parameters must equal the variables given by ...; the function must return the complete list indicated by variable.

dev

Before calling eval.parameters() split.screen must have been called. dev gives the screen on which the interactive menu should be plotted.

create

logical. If TRUE missing list elements of variable are created.

col.rect

colour of the button for free input.

col.bg

colour of a interactive bar

col.sep

colour of the separating line

col.left

colour of preceding element

col.mid

colour for the message

col.right

colour of subsequent element

col.line

colour of the marking line in interactive bars of absolute choice.

col.txt

colour of headers

cex

font height of headers

cex.i

font height of text for elements

sep

style of added characters in separating line.

...

The input variables given by name; the names may not start with a dot; There the complete list to which variable refers must be given. Further additional parameters for the function simulate.

Details

eval.parameters shows a menu list on X11. Depending on the mode of the variables the menu bars have a different appearance and behave differently if the user clicks on the bar. Most of the menu bars have a small rectangle on the right hand side. If this rectangle is pressed the input of a variable is expected in the xterm where R is run.

entry is a list of lists. Each list may contain the following elements:

Value

The first variable given in “...”, which is a list. To this list the entry .history is added.

If the users enters ‘exit immediately’ at any point, the program stops with an error message.

Note

To the list given by variable the element .history is added. .history is a list that contains the history of the user input. Each element is a list where the first entry is the number of the menu, the second and the third entries are the former and the new value. Exception: for entries with character val, the value of val is returned as second entry. Consequently, the name .history should not be used for other purposes in variable.

Further, any variable name given in ... must start with a letter.

Author(s)

Martin Schlather, martin.schlather@math.uni-goettingen.de http://www.stochastik.math.uni-goettingen.de/~schlather

See Also

useraction

Examples

## Not run: 
  ## the following lines define a menu that does not make
  ## too much sense, but shows the various kinds of buttons

  quadratic <- function(d, v, a, mini=0, maxi=Inf) {
    d <- pmin(1, pmax(0, d)) - 0.5
    d <- ((d>0) * 2 - 1) * d^2 * a * 4
    if (missing(v)) d else pmax(mini, pmin(maxi, v + d))
  }

  simulate <- function(H, par) { ## not a serious example
    Print(c(H$x$var, par, runif(1)))
    return(H)  ## the function must return the first parameter
  }

  entry <- list(
     list(name="Nonsense Menu"),
     list(name="Simulate!", val="simulate", col="blue"),
     list(name="show H", val="str(H)", col="blue"),
     list(name="colx", var="colour",
          val=c("red", "green", "blue", "brown")),
     list(name="open", var="closed", val=FALSE, par=4.5),
     list(name="modifying", var="modify", val=TRUE, par=5),
     list(name="probability", var="probab", delta=FALSE,
          val=function(d, v) pmin(1, pmax(0, d))),
     list(name="variance", var="var", delta=TRUE,
          val=function(d, v) quadratic(d, v, 10)),
     list(name="name", var="name", par=3, cond="modify")
    )

  scr <- split.screen(rbind(c(0, 0.45, 0, 1), c(0.5, 1, 0, 1)))
  ## before proceeding make sure that both the screen and the xterm
  ## are completely visible

  H <- list(modify=5, x=list()) # note that in this example eval.parameters 
  ##          will be called by by H$x, hence modify=5 will be left
  ##          unchanged.
  options(locatorBell=FALSE)

  useraction("start.register")  ## registring the user's input
  Print(eval.parameters("H$x", entry, simulate, update=TRUE, dev=scr[2],
     H=H, par=17)) # do not forget to call by name
  getactions()

  ## replay the user's input
  useraction("replay")
  Print(eval.parameters("H$x", entry, simulate, update=TRUE, dev=scr[2],
     H=H, par=17))

## End(Not run)

[Package RandomFields version 2.0.54 Index]