# score.binary

##### Score a Series of Binary Variables

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.

- Keywords
- manip

##### Usage

```
score.binary(…, fun=max, points=1:p,
na.rm=funtext == "max", retfactor=TRUE)
```

##### Arguments

- ...
a list of variables or expressions which are considered to be binary or logical

- fun
a function to compute on each row of the matrix represented by a specific observation of all the variables in

`…`

- points
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).- na.rm
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`

.- retfactor
applies if

`fun=max`

, in which case`retfactor=TRUE`

makes`score.binary`

return a`factor`

object since a hierarchical scale implies a unique choice.

##### Value

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 `…`

.

##### See Also

##### Examples

```
# 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)
# }
```

*Documentation reproduced from package Hmisc, version 4.0-3, License: GPL (>= 2)*