2013-10-30 41 views
1

我想運行在一個時間序列哈爾小波變換:R:哈爾小波變換

k<-c(4,6,10,12,8,6,5,5) 

我做這個工作,此代碼(我用Wavethresh包)

ywd<-wd(k,filter.number=2,family="DaubExPhase") 
c<-accessC(ywd,level=2) 
c 

輸出:

7.639474 15.884519 9.356473 6.717514

沒有爲什麼,我期待爲TR結束或averages part

我所期待的是

enter image description here

什麼是我的代碼的問題,我該怎麼辦哈爾小波R中

回答

5

變換包wavelets你可以做哈爾使用函數dwt(離散波變換)和參數filter設置爲"haar"的小波變換:

library(wavelets) 
k <- c(4,6,10,12,8,6,5,5) 
w <- dwt(k, filter="haar") 

dwt對象是相當複雜的S4對象,所以我不能解釋它的每個部分是什麼意思(我自己對小波一無所知),我會建議你閱讀?dwt,但你要找的東西似乎要包含在插槽V

[email protected][[1]] 
      [,1] 
[1,] 7.071068 
[2,] 15.556349 
[3,] 9.899495 
[4,] 7.071068 

這裏,信息,一切的對象包含:

An object of class "dwt" 
Slot "W": 
$W1 
      [,1] 
[1,] 1.414214 
[2,] 1.414214 
[3,] -1.414214 
[4,] 0.000000 

$W2 
    [,1] 
[1,] 6 
[2,] -2 

$W3 
      [,1] 
[1,] -2.828427 


Slot "V": 
$V1 
      [,1] 
[1,] 7.071068 
[2,] 15.556349 
[3,] 9.899495 
[4,] 7.071068 

$V2 
    [,1] 
[1,] 16 
[2,] 12 

$V3 
     [,1] 
[1,] 19.79899 


Slot "filter": 
Filter Class: Daubechies 
Name: HAAR 
Length: 2 
Level: 1 
Wavelet Coefficients: 7.0711e-01 -7.0711e-01 
Scaling Coefficients: 7.0711e-01 7.0711e-01 


Slot "level": 
[1] 3 

Slot "n.boundary": 
[1] 0 0 0 

Slot "boundary": 
[1] "periodic" 

Slot "series": 
    [,1] 
[1,] 4 
[2,] 6 
[3,] 10 
[4,] 12 
[5,] 8 
[6,] 6 
[7,] 5 
[8,] 5 

Slot "class.X": 
[1] "numeric" 

Slot "attr.X": 
list() 

Slot "aligned": 
[1] FALSE 

Slot "coe": 
[1] FALSE