Convert an object containing binary (integer
) columns into a
integer
vector indicating the column index where each row is
1
.
Usage
category_vector(x)
# S3 method for data.frame
category_vector(x)
# S3 method for sf
category_vector(x)
# S3 method for Spatial
category_vector(x)
# S3 method for matrix
category_vector(x)
Arguments
- x
matrix
,data.frame
, orsf::sf()
object.
Details
This function is conceptually similar to base::max.col()
except that rows with no values equal to 1
values are assigned a
value of zero. Also, note that in the argument to x
, each row must
contain only a single value equal to 1
.
Examples
# create matrix with logical columns
x <- matrix(c(1, 0, 0, NA, 0, 1, 0, NA, 0, 0, 0, NA), ncol = 3)
# print matrix
print(x)
#> [,1] [,2] [,3]
#> [1,] 1 0 0
#> [2,] 0 1 0
#> [3,] 0 0 0
#> [4,] NA NA NA
# convert to category vector
y <- category_vector(x)
# print category vector
print(y)
#> [1] 1 2 0 NA