Updates row definition table created by function defData or defRead. (For tables created using defDataAdd and defReadAdd use updateDefAdd.) Does not modify in-place.
updateDef(
  dtDefs,
  changevar,
  newformula = NULL,
  newvariance = NULL,
  newdist = NULL,
  newlink = NULL,
  remove = FALSE
)Definition table that will be modified
Name of field definition that will be changed
New formula definition (defaults to NULL)
New variance specification (defaults to NULL)
New distribution definition (defaults to NULL)
New link specification (defaults to NULL)
If set to TRUE, remove `changevar`from definition (defaults to FALSE).
The updated data definition table.
# Example 1
defs <- defData(varname = "x", formula = 0, variance = 3, dist = "normal")
defs <- defData(defs, varname = "y", formula = "2 + 3*x", variance = 1, dist = "normal")
defs <- defData(defs, varname = "z", formula = "4 + 3*x - 2*y", variance = 1, dist = "normal")
defs
#>    varname       formula variance   dist     link
#>     <char>        <char>    <num> <char>   <char>
#> 1:       x             0        3 normal identity
#> 2:       y       2 + 3*x        1 normal identity
#> 3:       z 4 + 3*x - 2*y        1 normal identity
updateDef(dtDefs = defs, changevar = "y", newformula = "x + 5", newvariance = 2)
#>    varname       formula variance   dist     link
#>     <char>        <char>   <char> <char>   <char>
#> 1:       x             0        3 normal identity
#> 2:       y         x + 5        2 normal identity
#> 3:       z 4 + 3*x - 2*y        1 normal identity
updateDef(dtDefs = defs, changevar = "z", newdist = "poisson", newlink = "log")
#>    varname       formula variance    dist     link
#>     <char>        <char>   <char>  <char>   <char>
#> 1:       x             0        3  normal identity
#> 2:       y       2 + 3*x        1  normal identity
#> 3:       z 4 + 3*x - 2*y        1 poisson      log
# Example 2
defs <- defData(varname = "w", formula = 0, variance = 3, dist = "normal")
defs <- defData(defs, varname = "x", formula = "1 + w", variance = 1, dist = "normal")
defs <- defData(defs, varname = "z", formula = 4, variance = 1, dist = "normal")
defs
#>    varname formula variance   dist     link
#>     <char>  <char>    <num> <char>   <char>
#> 1:       w       0        3 normal identity
#> 2:       x   1 + w        1 normal identity
#> 3:       z       4        1 normal identity
updateDef(dtDefs = defs, changevar = "x", remove = TRUE)
#>    varname formula variance   dist     link
#>     <char>  <char>   <char> <char>   <char>
#> 1:       w       0        3 normal identity
#> 2:       z       4        1 normal identity
updateDef(dtDefs = defs, changevar = "z", remove = TRUE)
#>    varname formula variance   dist     link
#>     <char>  <char>   <char> <char>   <char>
#> 1:       w       0        3 normal identity
#> 2:       x   1 + w        1 normal identity
# No changes to original definition:
defs
#>    varname formula variance   dist     link
#>     <char>  <char>    <num> <char>   <char>
#> 1:       w       0        3 normal identity
#> 2:       x   1 + w        1 normal identity
#> 3:       z       4        1 normal identity