[R] extend.series not zero padding

Spencer Graves spencer.graves at pdf.com
Sat Dec 10 03:12:38 CET 2005


HELLO ERIC:

	  The documentation for "extend.series" indicates that "zero" is an 
option for "method".  However, consider the followining:

 > extend.series(c(0, pi), method="zero")
Error in extend.series(c(0, pi), method = "zero") :
	Invalid argument value for 'method'

	  If you replace "zero" with "zeros" in the documentation, it will be 
consistent with the actual function behavior:

 > extend.series(c(0, pi), method="zeros")
[1] 0.000000 3.141593 0.000000 0.000000

#########################################
HELLO KEITH:

	  Permit me to outline for your general edification how I found this. 
First, I installed "wavelets" and replicated your error.  I  noticed 
that your sample series was named "c".  Since that's also a function 
name, I replaced "c" with "c.".  That did not fix the error.  However, I 
generally avoid using the names of standard functions for other 
purposes.  In most but not all cases, R can tell from the context 
whether the function or the non-function object 'c' should be used.  To 
avoid being trapped by this in the occasionally cases where R can NOT 
tell the difference, I routine type a variabile name at a command prompt 
before using it:  If I get 'object not found', I feel more comfortable 
using it.  If R returns something, I tend to avoid that name.

	  Next, I tried to simplify your example.  I determined from the 
documnetation that we should be able to delete the last two arguments 
and still get the same thing.  I therefore tried the following:

dew0<-extend.series(c.,method="zero")

	  When I got the same error message, I then listed the function by 
typing "extend.series" at a command prompt and copied the text into a 
script file so I could look at it.

	  Then I invoked "debug(extend.series)" and tried the 
'dew0<-extend.series(...)" command again.  From this, I found it failed 
on the following:

     if (is.na(match(method, c("periodic", "reflection", "zeros",
         "mean", "reflection.inverse"))))
	
	  I then tried it with "method='zeros'", and it worked.

	  Then, in preparing an email to Eric Aldrich, I simplified the example 
still further to make it easier for him to understand the issue.

	  hope this helps.
	  spencer graves

Keith Chamberlain wrote:

> Dear List,
> 
> I was trying to verify that I could use extend.series in the wavelets
> package and kept getting an error when trying to use method="zero". I'm not
> seeing where my syntax has gone awry.
> 
> According to the documentation, [see ?extend.series]
> "  method: A character string indicating which extension method to use.
>           Possible values are '"periodic"', '"reflection"', '"zero"',
>           '"mean"', and '"reflection.inverse"'."
> 
> c<-cbind(0:60, 60:0) # setup a series, length will be 61
> 
>>length(c)
> 
> [1] 122
> 
> 
>>dew<-extend.series(c,method="zero",length="powerof2",
> 
> j=log(length(c),2)%/%1)
> 
>>Error in extend.series(c, method = "zero", length = "powerof2", j =
> 
> log(length(c),  : 
>         Invalid argument value for 'method'
> 
> Other methods work great, such as method="mean".
> 
> 
>>dew<-extend.series(c,method="mean",length="powerof2",
> 
> j=log(length(c),2)%/%1)
> 
> 
>>length(dew)
> 
> [1] 128
> 
> 
> Has this come up in anyone else's experience? If so, what's the workaround
> so that I can use "zero" as a method?
> 
> Rgds,
> KeithC.
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

-- 
Spencer Graves, PhD
Senior Development Engineer
PDF Solutions, Inc.
333 West San Carlos Street Suite 700
San Jose, CA 95110, USA

spencer.graves at pdf.com
www.pdf.com <http://www.pdf.com>
Tel:  408-938-4420
Fax: 408-280-7915




More information about the R-help mailing list