週期性序列是重複自身後Ñ術語,例如序列,下面是一個週期序列:測量數[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