
Last chance! 50% off unlimited learning
Sale ends in
Creates a new variable from a series of logical conditions. The new
variable can be a hierarchical category or score derived from considering
the rightmost TRUE
value among the input variables, an additive point
score, a union, or any of several others by specifying a function using the
fun
argument.
score.binary(…, fun=max, points=1:p,
na.rm=funtext == "max", retfactor=TRUE)
a list of variables or expressions which are considered to be binary or logical
a function to compute on each row of the matrix represented by
a specific observation of all the variables in …
points to assign to successive elements of …
. The default is
1, 2, …, p
, where p
is the number of elements. If you specify
one number for points
, that number will be duplicated (i.e., equal weights
are assumed).
set to TRUE
to remove NA
s from consideration when processing
each row of the matrix of variables in …
. For fun=max
,
na.rm=TRUE
is the default since score.binary
assumes that a
hierarchical scale is based on available information. Otherwise,
na.rm=FALSE
is assumed. For fun=mean
you may want to specify
na.rm=TRUE
.
applies if fun=max
, in which case retfactor=TRUE
makes score.binary
return a factor
object since a hierarchical scale implies
a unique choice.
a factor
object if retfactor=TRUE
and fun=max
or a numeric vector
otherwise. Will not contain NAs if na.rm=TRUE
unless every variable in
a row is NA
. If a factor
object
is returned, it has levels "none"
followed by character
string versions of the arguments given in …
.
# NOT RUN {
set.seed(1)
age <- rnorm(25, 70, 15)
previous.disease <- sample(0:1, 25, TRUE)
#Hierarchical scale, highest of 1:age>70 2:previous.disease
score.binary(age>70, previous.disease, retfactor=FALSE)
#Same as above but return factor variable with levels "none" "age>70"
# "previous.disease"
score.binary(age>70, previous.disease)
#Additive scale with weights 1:age>70 2:previous.disease
score.binary(age>70, previous.disease, fun=sum)
#Additive scale, equal weights
score.binary(age>70, previous.disease, fun=sum, points=c(1,1))
#Same as saying points=1
#Union of variables, to create a new binary variable
score.binary(age>70, previous.disease, fun=any)
# }
Run the code above in your browser using DataLab