Важно отслеживать, что вы кодируете как TRUE
или FALSE
:
vec_factor <- factor(
c(1, 1, 1, 1, 1, 2, 1, 1, 1, 1),
labels = c("benign", "malignant")
)
str(vec_factor)
# Factor w/ 2 levels "benign","malignant": 1 1 1 1 1 2 1 1 1 1
vec_logical <- as.logical(as.integer(vec) == 1)
str(vec_logical)
# logi [1:10] TRUE TRUE TRUE TRUE TRUE FALSE ...
Обновление:
Как прокомментировал @ zx8754, as.logical
является избыточным:
str(as.integer(vec) == 1)
# logi [1:10] TRUE TRUE TRUE TRUE TRUE FALSE ...
и ответ @ is гораздо более элегантный.