Learn R Programming

optedr (version 2.2.0)

combinatorial_round: Combinatorial round

Description

Given an approximate design and a number of points, computes all the possible combinations of roundings of each point to the nearest integer, keeps the ones that amount to the requested number of points, and returns the one with the best value for the criterion function

Usage

combinatorial_round(
  design,
  n,
  criterion = NULL,
  model = NULL,
  parameters = NULL,
  par_values = NULL,
  weight_fun = function(x) 1,
  par_int = NULL,
  reg_int = NULL,
  matB = NULL
)

Value

A data.frame with the rounded design to n number of points

Arguments

design

either a dataframe with the design to round, or an object of class "optdes". If the former, the criterion, model and parameters must be specified. The dataframe should have two columns:

  • Point contains the support points of the design.

  • Weight contains the corresponding weights of the Points.

n

integer with the desired number of points of the resulting design.

criterion

character variable with the chosen optimality criterion. Can be one of the following:

  • 'D-Optimality'

  • 'Ds-Optimality'

  • 'A-Optimality'

  • 'I-Optimality'

  • 'L-Optimality'

model

formula describing the model. Must use x as the variable.

parameters

character vector with the parameters of the models, as written in the formula.

par_values

numeric vector with the parameters nominal values, in the same order as given in parameters.

weight_fun

optional one variable function that represents the square of the structure of variance, in case of heteroscedastic variance of the response.

par_int

optional numeric vector with the index of the parameters of interest for Ds-optimality.

reg_int

optional numeric vector with the ranges of integration, for I-optimality.

matB

optional matrix of dimensions k x k, for L-optimality.

Examples

Run this code
aprox_design <- opt_des("D-Optimality", y ~ a * exp(-b / x), c("a", "b"), c(1, 1500), c(212, 422))
combinatorial_round(aprox_design, 27)

Run the code above in your browser using DataLab