R/define_data.R
defCondition.Rd
Add single row to definitions table of conditions that will be used to add data to an existing definitions table
defCondition(
dtDefs = NULL,
condition,
formula,
variance = 0,
dist = "normal",
link = "identity"
)
A data.table named dtName that is an updated data definitions table
# New data set
def <- defData(varname = "x", dist = "noZeroPoisson", formula = 5)
def <- defData(def, varname = "y", dist = "normal", formula = 0, variance = 9)
dt <- genData(10, def)
# Add columns to dt
defC <- defCondition(
condition = "x == 1", formula = "5 + 2*y",
variance = 1, dist = "normal"
)
defC <- defCondition(defC,
condition = "x <= 5 & x >= 2", formula = "3 - 2*y",
variance = 1, dist = "normal"
)
defC <- defCondition(defC,
condition = "x >= 6", formula = 1,
variance = 1, dist = "normal"
)
defC
#> condition formula variance dist link
#> <char> <char> <num> <char> <char>
#> 1: x == 1 5 + 2*y 1 normal identity
#> 2: x <= 5 & x >= 2 3 - 2*y 1 normal identity
#> 3: x >= 6 1 1 normal identity
# Add conditional column with field name "z"
dt <- addCondition(defC, dt, "z")
dt
#> Key: <id>
#> id z x y
#> <int> <num> <num> <num>
#> 1: 1 12.60493882 5 -4.8401325
#> 2: 2 0.06657201 4 1.1153079
#> 3: 3 9.88180241 2 -2.7703308
#> 4: 4 16.58747478 5 -6.9123133
#> 5: 5 4.97777186 5 -0.8299244
#> 6: 6 5.80134321 4 -1.6118639
#> 7: 7 0.91513328 8 -0.2025508
#> 8: 8 1.49741504 6 -4.9571323
#> 9: 9 2.67471877 10 4.1792946
#> 10: 10 3.76736873 5 -1.0166581