Я хотел бы написать следующее if условие
if
if( (k==1)| (k==4)| (k==8) | (k== 11)| (k==12)){ .... } else{ .... }
более компактным способом, например, как в php, где in_array проверяет, существует ли значение в массиве.
php
in_array
Вы можете использовать any.
any
f <- function(k) if (any(k %in% c(1, 4, 8, 11, 12))) 1 else 0 f(1:12) # [1] 1 f(13:15) # [1] 0 f(c(1, 4, 8, 11, 12, 13, 14)) # [1] 1 f(c(2, 5, 9, 13, 14)) # [1] 0 f(c(1, 2, 5, 9, 13, 14)) # [1] 1
Далее: all () можно использовать, если вместо 'or' требуется 'и' logi c.