Skip to contents

Create a response from a dataset and an equation.

Usage

createResponse(
  data,
  equation,
  name = getEctdColName("Response"),
  invLink,
  distribution = "normal",
  covariance,
  errStruc = "Additive",
  range,
  digits = 3,
  seed = .deriveFromMasterSeed(),
  flagName = getEctdColName("RespOmit")
)

Arguments

data

(Required) Data structure to which to add response.

equation

(Required) R function or character string for creating response. See createResponseVariable.

name

(Optional) Response variable name ("RESP" by default)

invLink

(Optional) Inverse link function for the predictor. This is an R function. No inverse link function by default

distribution

(Optional) Outcome variable distribution, one of "n" for normal, "l" for lognormal, "b" for binomial or "p" for poisson. Default is "Normal"

covariance

(Optional) Residual Error (CO)VARIANCE, passed to the addResidualError function. Missing by default, resulting in no residual error generated for the reponse

errStruc

(Optional) Function describing how to apply residual error: "Additive", "Log-Normal" or "Proportional". "Additive" is the default

range

(Optional) Range of acceptable values for created response. See parseRangeCode. Missing by default, resulting in no "range" limitation on the response

digits

(Optional) Number of digits to which to round the response (3 by default)

seed

(Optional) Random number seed. By default, this is derived from the current random seed

flagName

(Optional) "Response Omit" Flag name ("RESPOMIT" by default)

Value

A data set containing two columns.

RESP

The actual Response

RESPOMIT

The response OMIT flag. It is named from the value of the flagName argument.

Note

In earlier versions of MSToolkit, the "Proportional" Error Structure behaved differently (it is assumed parameters passed were on the log scale)

See also

The lower-level function of the response component: createResponseVariable and addResidualError are called by createResponse.

Author

Mike K Smith mstoolkit@googlemail.com

Examples


  # example data
  myData <- expand.grid(X = 1:2, Y = 1:2, Z = 1:2)

  # added to comply with SF issue 7
  # Tue Jul 24 10:21:14 BST 2007 @431 /Internet Time/
  # function example
  out1 <- createResponse(data = myData,
                         equation = function(data) with(data, X+Y+Z),
                         covariance = 1, range = "RESP < 3", seed = 96)

  # same example using a character representation
  out2 <- createResponse(data = myData,
                         equation = "X+Y+Z",
                         covariance = 1, range = "RESP < 3", seed = 96)
  stopifnot(identical(out1, out2))