周期性序列是重复自身后Ñ术语,例如序列,下面是一个周期序列:测量数[R]的序列的周期
1,2,3,1 ,2,3,1,2,3,...
我们定义序列的期间是在每个子序列的项数(上述子序列是1,2,3)。因此,对于上面的序列周期设为3
在R,I可以定义上述序列(虽然不是到无穷大),使用:
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
功能的,使得我通过在序列中的,并将它传递出的初始矢量的长度。
我想到如果有重复的子序列,事情就会变得毛茸茸的。 '1,2,3,1,2,3,4,5,1,2,3,1,2,3,4,5'。正如DWIN和mdrwab指出的,非单调序列可能会错误地产生“diff = 0”结果。也许你应该采取傅立叶变换,并寻找高峰:-) –
@dplanet,下面的答案是如何解决你的?如果他们不这样做,你能指出你可能在寻找什么吗? – A5C1D2H2I1M1N2O1R2T1