Add factors to data set based on spec information
ys_add_factors(
.data,
.spec,
...,
.all = TRUE,
.missing = NULL,
.suffix = getOption("ys.fct.suffix", "_f")
)
yspec_add_factors(
.data,
.spec,
...,
.all = TRUE,
.missing = NULL,
.suffix = getOption("ys.fct.suffix", "_f")
)
ys_make_factor(values, x, strict = TRUE, .missing = NULL)
yspec_make_factor(values, x, strict = TRUE, .missing = NULL)
the data set to modify
a yspec object
unquoted column names for modification; passing nothing through
...
will signal for all columns to be considered for factors
if TRUE
then any column with a values
attribute or where
the make_factor
field evaluates to TRUE
will be added as a factor
a label to use assign to missing values NA
when making
the factor; keep this NULL
(the default) to let missing values be handled
naturally by factor()
used to make the column name for the factors
a vector of values to convert to a factor
a ycol object
if `FALSE`, then a factor will be returned for any `values` type
Note that .suffix
can be chosen using option ys.fct.suffix
. When the
factor is made by base::factor()
, the exclude
argument is forced to
character(0)
so that nothing is excluded.
spec <- load_spec_ex()
ys_make_factor(c(1,0,1,1,1,0), spec$SEX)
#> [1] female male female female female male
#> Levels: male female
data <- data.frame(SEX = c(1,1,1,1,0,0,1,1), STUDY= c(202,100))
head(ys_add_factors(data, spec, SEX, STUDY))
#> SEX STUDY SEX_f
#> 1 1 202 female
#> 2 1 100 female
#> 3 1 202 female
#> 4 1 100 female
#> 5 0 202 male
#> 6 0 100 male
#> STUDY_f
#> 1 The first phase 2 study conducted only at sites 1, 2, 3 when the formulation was still oral liquid only
#> 2 The first phase 1 study
#> 3 The first phase 2 study conducted only at sites 1, 2, 3 when the formulation was still oral liquid only
#> 4 The first phase 1 study
#> 5 The first phase 2 study conducted only at sites 1, 2, 3 when the formulation was still oral liquid only
#> 6 The first phase 1 study
data <- ys_help$data()
spec <- ys_help$spec()
head(ys_add_factors(data, spec))
#> C NUM ID SUBJ TIME SEQ CMT EVID AMT DV AGE WT CRCL ALB BMI
#> 1 NA 1 1 1 0.00 0 1 1 5 0.000 28.03 55.16 114.45 4.4 21.67
#> 2 NA 2 1 1 0.61 1 2 0 NA 61.005 28.03 55.16 114.45 4.4 21.67
#> 3 NA 3 1 1 1.15 1 2 0 NA 90.976 28.03 55.16 114.45 4.4 21.67
#> 4 NA 4 1 1 1.73 1 2 0 NA 122.210 28.03 55.16 114.45 4.4 21.67
#> 5 NA 5 1 1 2.15 1 2 0 NA 126.090 28.03 55.16 114.45 4.4 21.67
#> 6 NA 6 1 1 3.19 1 2 0 NA 84.682 28.03 55.16 114.45 4.4 21.67
#> AAG SCR AST ALT HT CP TAFD TAD LDOS MDV BLQ PHASE STUDY RF
#> 1 106.36 1.14 11.88 12.66 159.55 0 0.00 0.00 5 1 0 1 1 norm
#> 2 106.36 1.14 11.88 12.66 159.55 0 0.61 0.61 5 0 0 1 1 norm
#> 3 106.36 1.14 11.88 12.66 159.55 0 1.15 1.15 5 0 0 1 1 norm
#> 4 106.36 1.14 11.88 12.66 159.55 0 1.73 1.73 5 0 0 1 1 norm
#> 5 106.36 1.14 11.88 12.66 159.55 0 2.15 2.15 5 0 0 1 1 norm
#> 6 106.36 1.14 11.88 12.66 159.55 0 3.19 3.19 5 0 0 1 1 norm
#> C_f SEQ_f EVID_f CP_f MDV_f BLQ_f PHASE_f STUDY_f
#> 1 <NA> observation dose normal missing above QL 1 SAD
#> 2 <NA> dose observation normal non-missing above QL 1 SAD
#> 3 <NA> dose observation normal non-missing above QL 1 SAD
#> 4 <NA> dose observation normal non-missing above QL 1 SAD
#> 5 <NA> dose observation normal non-missing above QL 1 SAD
#> 6 <NA> dose observation normal non-missing above QL 1 SAD
#> RF_f
#> 1 Normal
#> 2 Normal
#> 3 Normal
#> 4 Normal
#> 5 Normal
#> 6 Normal