christophsax / tempdisagg

Methods for Temporal Disaggregation and Interpolation of Time Series
http://cran.r-project.org/web/packages/tempdisagg
36 stars 5 forks source link

td of quarterly ts fails: Revival of Issue #17 #18

Closed stefanle closed 9 years ago

stefanle commented 9 years ago

Due to probably incorrect time series attributes (handling) td fails in some cases. For example the following produces an error: td(defl_x_tot1 ~ ppi, to = 12, conversion = "last") Error: identical(dim(C)[2], dim(X)[1]) is not TRUE

Remark given in Issue #17: Changing line 33-38 in td.calc.R and substituting n.fc (which is not always identical to an integer although it looks on screen like an integer) solves the problem.

if (n.fc > 0){ C <- cbind(C, matrix(0, nrow=n_l, ncol = n - fr * n_l)) } if (n.bc > 0){ C <- cbind(matrix(0, nrow=n_l, ncol = n - fr * n_l), C) }

Maybe you can provide a better workaround or enlighten me how to adjust attributes(ppi) in order to avoid this problem...

christophsax commented 9 years ago

Hast du ein reproduzierbares Beispiel? Mein Beispiel aus #17 funktioniert in 0.24.

christophsax commented 9 years ago

Hier nun mit deinem Beispiel:

> library(tempdisagg)
> load("~/Downloads/defl_x_tot1.rdata")
> load("~/Downloads/ppi.rdata")
> td(defl_x_tot1 ~ ppi, to = 12, conversion = "last")

Call:
td(formula = defl_x_tot1 ~ ppi, conversion = "last", to = 12)

Coefficients:
(Intercept)          ppi  
    37.6394       0.6297  

Use summary() for details. 
Use predict() to extract the final series.

Use ?td to see the help file.
> 
> packageVersion("tempdisagg")
[1] ‘0.24.0’

Bei mir funktionierts. Kannst mal packageVersion() checken?

stefanle commented 9 years ago

 bin gerade in Den Haag, schaue es mir nochmals an, wenn ich zurück im Office bin...  

Gesendet: Mittwoch, 14. Januar 2015 um 10:17 Uhr Von: "Christoph Sax" notifications@github.com An: christophsax/tempdisagg tempdisagg@noreply.github.com Cc: stefanle stefan.leist@gmx.ch Betreff: Re: [tempdisagg] td of quarterly ts fails: Revival of Issue #17 (#18)

Hier nun mit deinem Beispiel:

library(tempdisagg) load("~/Downloads/defl_x_tot1.rdata") load("~/Downloads/ppi.rdata") td(defl_x_tot1 ~ ppi, to = 12, conversion = "last")

Call: td(formula = defl_x_tot1 ~ ppi, conversion = "last", to = 12)

Coefficients: (Intercept) ppi
37.6394 0.6297

Use summary() for details. Use predict() to extract the final series.

Use ?td to see the help file.

packageVersion("tempdisagg") [1] ‘0.24.0’

Bei mir funktionierts. Kannst mal packageVersion() checken?

— Reply to this email directly or view it on GitHub.