Я думаю, что в предыдущих ответах не удалось выделить простой пример:
, например, у нас есть массив:
numbers = [5, 15]
Следующее выражение регулярного выражения ^[0-9]+
соответствует: 15
только. Однако ^[0-9]*
соответствует как 5 and 15
. Разница в том, что для оператора +
требуется, по крайней мере, один дубликат предыдущего выражения регулярного выражения
Еще один вариант использования tabulate
n <- 6
a <- c(1, 4)
as.logical(tabulate(a, n))
# [1] TRUE FALSE FALSE TRUE FALSE FALSE
Создайте логический вектор и затем назначьте нужные значения.
x <- logical(6) # All FALSE
a <- c(1, 4)
x[a] <- TRUE
x
#[1] TRUE FALSE FALSE TRUE FALSE FALSE