如何使用位置向量来创建二进制字符串?

Tur*_*ace 0 position r vector

我有一个向量c(2, 5),我想把它变成n个元素的向量,其中位置2和5等于1,任何剩余的位置等于零.

即如果我想创建一个长度为6的向量,我想使用向量c(2, 5)生成以下向量:

c(0, 1, 0, 0, 1, 0)

Ric*_*ven 5

怎么样

x <- c(2, 5)
n <- 6
replace(integer(n), x, 1L)
# [1] 0 1 0 0 1 0
Run Code Online (Sandbox Code Playgroud)

另一种选择是

as.integer(1:n %in% x)
# [1] 0 1 0 0 1 0
Run Code Online (Sandbox Code Playgroud)