Как преобразовать символ в число с предварительно заданными метками - PullRequest
0 голосов
/ 11 ноября 2019

Есть ли способ преобразовать символ / фактор в R, который может преобразовать данные этого типа в числовые в заранее заданные метки.

Например, Males = 0, Females = 1.

Я хочу специально обозначить его таким образом, чтобы не рандомизировать. Я пробовал add_label, но он добавляет только метки, но не преобразует данные в числовые. Я также пытался replace(), но я тоже не могу с этим ничего сделать

1 Ответ

1 голос
/ 11 ноября 2019

Если вы хотите перейти от {Males, Females} к {0,1}:

s <- c("Males","Females","Males","Females","Females")
labs <- c("Males","Females")
f <- factor(s, levels=labs)  ## specify order
as.numeric(f)-1  ## label numbers start at 1, so subtract 1
## result: [1] 0 1 0 1 1

Если вы хотите быть более общим

vals <- c(0,1)
vals[match(s,labs)]
## same result as above
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...