周期序列是在n项之后重复自身的序列,例如,以下是周期序列:
1, 2, 3, 1, 2, 3, 1, 2, 3, ...
我们将该序列的周期定义为每个子序列中的项数(上面的子序列为 1、2、3)。所以上述序列的周期是 3。
在 R 中,我可以定义上述序列(尽管不是无穷大),使用:
sequence <- rep(c(1,2,3),n) #n is a predefined variable
因此,如果n = 50
,sequence
将是序列 1, 2, 3, 1, 2, 3, ... , 1, 2, 3,其中每个数字出现了 50 次,显而易见。
我正在寻找建立一个计算周期的函数sequence
。伪代码如下:
period <- function(sequence){
subsequence <- subsequence(sequence) #identify the subsequence
len.subsequence <- length(subsequence) #calculate its length
return(len.subsequence) #return it
}
我将如何识别子序列?这是函数的一种反转rep
,这样我传入一个序列,它传递出初始向量的长度。