我想创建一个长度为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
大小,我不喜欢它.有没有一种方法或现成的函数可以取代我的代码,使它更好?
1.向量my_seq
中的序列具有任意长度
1.向量my_seq
的长度为n
1.我想设置向量中序列的长度范围,例如,在我的代码rep(sample(3:20,1))
中,任何序列的长度从3
到20
意味着什么
1.我想指出序列的元素,它可以是-1,0,1或其他具有不同集合和元素数量的元素,例如0,1或1,5,10,20。但这些值始终为int
1条答案
按热度按时间xxslljrj1#
你打算做什么?