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