我想创建一个长度向量
n
它将包含任意长度的序列
我制作了一个这样做的代码,但它似乎不可靠,对我来说有点可笑。
n <- 300
vals <- c(-1,0,1)
seq_range <- 3:20
make_seq <- function() sample(vals,size=1) |> rep(sample(seq_range,1))
my_seq <- lapply(1:50,\(x) make_seq()) |> unlist() |> tail(n = n)
。。。
my_seq
[1] 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[35] 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[69] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1
[103] -1 -1 -1 -1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[137] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0
[171] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 -1
[205] -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
[239] 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[273] 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
我创建了一个列表,然后将其缩小
n
,我不喜欢。。。
有没有一种方法或现成的函数可以取代我的代码并使其变得更好?
==============================================================
-
向量内的序列
my_seq
具有任意长度
-
矢量
my_seq
有一个长度
n
-
我想设置向量中序列的长度范围,例如,在我的代码中
rep(sample(3:20,1))
任何序列的长度是从
3
到
20
-
我想指出序列的元素,它可以是-1,0,1,也可以是其他具有不同元素集和数量的元素,例如0,1或1,5,10,20。
但这些永远都是
int
价值观