2016-04-07 4 views
0

Для меня совершенно неожиданно, что я не смог найти готовый ответ на этот вопрос в stackoverflow.Преобразование вектора 0 и 1 в двоичный вектор в R

В R, у меня есть вектор 0 и 1, и я хочу, чтобы преобразовать его в бинарный вектор, с 0 становится F и 1 становится T.

Как я мог это сделать?

Благодаря

+3

'as.logical (с (0,1,1,0))'. – joran

ответ

1

Мы можем использовать !!:

rep(0:1, 5) 
[1] 0 1 0 1 0 1 0 1 0 1 

!!rep(0:1, 5) 
[1] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE 

Все 0s будут преобразованы в FALSE, любой другой числовой к TRUE.

+0

Это технически правильно, но, на мой взгляд, гораздо менее удобочитаемо, чем использование 'as.logical', как сказано выше joran. –

+1

R не JavaScript. –

+0

Большое спасибо за все ответы. Возможно ли, если вместо 0 и 1 у меня есть вектор '-1'' и' '1'', и вы хотите преобразовать' -1'' в '' F'' и '' 1'' на '' T''? –

4

Мой комментарий должен был быть ответом. Вы можете просто сделать:

as.logical(c(0,1,1,0)) 
1

Мы можем использовать !=

c(0,1,1,0)!=0 
#[1] FALSE TRUE TRUE FALSE 
Смежные вопросы