[Rd] R 2.8.0 qqnorm produces error with object of class zoo?

Pfaff, Bernhard Dr. Bernhard_Pfaff at fra.invesco.com
Wed Oct 22 15:00:43 CEST 2008


Dear Peter,

many thanks for your swift reply and the enlightenment; much appreciated.  
I have cc'ed Achim as the package maintainer of zoo, in case this thread should have slipt his notice. Just curious, Achim, will there be a rank.zoo() function in a future release of your package?

Best,
Bernhard


>
>Pfaff, Bernhard Dr. wrote:
>> It seems, that in my previous emails the attached output 
>files got deleted, hence these are now copied below:
>>
>>   
>(If the MIME type is wrong, then that will happen.)
>
>Anyways, the root cause seems to be the new function .gt() which is
>related to
>
>    o   New generic function xtfrm() as an auxiliary helper for
>        sort(), order() and rank().  This should return a numeric
>        vector that sorts in the same way as its input.  The default
>        method supports any class with ==, > and is.na() methods but
>        specific methods can be much faster.
>
>        As a side-effect, rank() will now work better on classed
>        objects, although possibly rather slowly.
>
>Here, "better" may be in the eyes of the beholder, for
>
>> dax[3]==dax[6]
>Data:
>logical(0)
>
>Index:
>integer(0)
>
>and accordingly
>
>> rank(dax)
>Error in if (xi == xj) 0L else if (xi > xj) 1L else -1L :
>  argument is of length zero
>
>which is the error that you are seeing.
>
>What to do about it is a bit dubious. Obviously, we don't want to "fix"
>.gt() so that it automatically unclasses objects, and I assume that zoo
>has its reasons for not wanting to compare series with different
>indices. So I suppose that either the user must unclass, or zoo define
>rank.zoo.
>
>> For R version 2.7.2:
>> ====================
>> R version 2.7.2 (2008-08-25)
>> Copyright (C) 2008 The R Foundation for Statistical Computing
>> ISBN 3-900051-07-0
>>
>> R ist freie Software und kommt OHNE JEGLICHE GARANTIE.
>> Sie sind eingeladen, es unter bestimmten Bedingungen weiter 
>zu verbreiten.
>> Tippen Sie 'license()' or 'licence()' für Details dazu.
>>
>> R ist ein Gemeinschaftsprojekt mit vielen Beitragenden.
>> Tippen Sie 'contributors()' für mehr Information und 'citation()',
>> um zu erfahren, wie R oder R packages in Publikationen 
>zitiert werden können.
>>
>> Tippen Sie 'demo()' für einige Demos, 'help()' für on-line 
>Hilfe, oder
>> 'help.start()' für eine HTML Browserschnittstelle zur Hilfe.
>> Tippen Sie 'q()', um R zu verlassen.
>>
>>
>> Invesco colors have been created!
>> Usage: "col = invcolor[1]", or "col = invcolor['blue']" etc.
>> Type: 'invcolor' to see its definition.
>>
>> [Vorher gesicherter Workspace wiederhergestellt]
>>
>>   
>>> library(zoo)
>>>     
>>
>> Attache Paket: 'zoo'
>>
>>
>> 	The following object(s) are masked from package:base :
>>
>> 	 as.Date.numeric 
>>
>> Warning message:
>> Paket 'zoo' wurde unter R Version 2.8.0 gebaut 
>>   
>>> sessionInfo()
>>>     
>> R version 2.7.2 (2008-08-25) 
>> i386-pc-mingw32 
>>
>> locale:
>> 
>LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_
>MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252
>>
>> attached base packages:
>> [1] stats     graphics  utils     datasets  grDevices 
>methods   base     
>>
>> other attached packages:
>> [1] zoo_1.5-4
>>
>> loaded via a namespace (and not attached):
>> [1] grid_2.7.2      lattice_0.17-13
>>   
>>> search()
>>>     
>>  [1] ".GlobalEnv"        "package:zoo"       "package:stats"    
>>  [4] "package:graphics"  "package:utils"     "package:datasets" 
>>  [7] "package:grDevices" "package:methods"   "Autoloads"        
>> [10] "package:base"     
>>   
>>> packageDescription("zoo")
>>>     
>> Package: zoo
>> Version: 1.5-4
>> Date: 2008-07-09
>> Title: Z's ordered observations
>> Author: Achim Zeileis, Gabor Grothendieck
>> Maintainer: Achim Zeileis <Achim.Zeileis at R-project.org>
>> Description: An S3 class with methods for totally ordered indexed
>>         observations. It is particularly aimed at irregular 
>time series
>>         of numeric vectors/matrices and factors. zoo's key 
>design goals
>>         are independence of a particular index/date/time class and
>>         consistency with with ts and base R by providing methods to
>>         extend standard generics.
>> Depends: R (>= 2.4.1), stats
>> Suggests: chron, fCalendar, fSeries, its, tseries, lattice,
>>         strucchange, DAAG, xts
>> Imports: stats, utils, graphics, grDevices, lattice
>> LazyLoad: yes
>> License: GPL-2
>> URL: http://R-Forge.R-project.org/projects/zoo/
>> Packaged: Wed Jul 9 18:28:07 2008; zeileis
>> Built: R 2.8.0; ; 2008-10-16 00:01:11; windows
>>
>> -- File: C:/R/package/zoo/Meta/package.rds 
>>   
>>> data(EuStockMarkets)
>>> dax <- as.zoo(EuStockMarkets[1:10, "DAX"])
>>> daxr <- diff(log(dax))
>>> identical(as.vector(qnorm(daxr)), qnorm(coredata(daxr)))
>>>     
>> [1] TRUE
>> Warning messages:
>> 1: In qnorm(p, mean, sd, lower.tail, log.p) : NaNs wurden erzeugt
>> 2: In qnorm(p, mean, sd, lower.tail, log.p) : NaNs wurden erzeugt
>>   
>>> qqnorm(coredata(daxr))
>>> qqnorm(daxr)
>>>
>>> proc.time()
>>>     
>>        User      System verstrichen 
>>        1.65        0.13        2.97 
>>
>> For R version 2.8.0:
>> ====================
>>  version 2.8.0 (2008-10-20)
>> Copyright (C) 2008 The R Foundation for Statistical Computing
>> ISBN 3-900051-07-0
>>
>> R ist freie Software und kommt OHNE JEGLICHE GARANTIE.
>> Sie sind eingeladen, es unter bestimmten Bedingungen weiter 
>zu verbreiten.
>> Tippen Sie 'license()' or 'licence()' für Details dazu.
>>
>> R ist ein Gemeinschaftsprojekt mit vielen Beitragenden.
>> Tippen Sie 'contributors()' für mehr Information und 'citation()',
>> um zu erfahren, wie R oder R packages in Publikationen 
>zitiert werden können.
>>
>> Tippen Sie 'demo()' für einige Demos, 'help()' für on-line 
>Hilfe, oder
>> 'help.start()' für eine HTML Browserschnittstelle zur Hilfe.
>> Tippen Sie 'q()', um R zu verlassen.
>>
>>
>> Invesco colors have been created!
>> Usage: "col = invcolor[1]", or "col = invcolor['blue']" etc.
>> Type: 'invcolor' to see its definition.
>>
>> [Vorher gesicherter Workspace wiederhergestellt]
>>
>>   
>>> library(zoo)
>>>     
>>
>> Attache Paket: 'zoo'
>>
>>
>> 	The following object(s) are masked from package:base :
>>
>> 	 as.Date.numeric 
>>
>>   
>>> sessionInfo()
>>>     
>> R version 2.8.0 (2008-10-20) 
>> i386-pc-mingw32 
>>
>> locale:
>> 
>LC_COLLATE=German_Germany.1252;LC_CTYPE=German_Germany.1252;LC_
>MONETARY=German_Germany.1252;LC_NUMERIC=C;LC_TIME=German_Germany.1252
>>
>> attached base packages:
>> [1] stats     graphics  utils     datasets  grDevices 
>methods   base     
>>
>> other attached packages:
>> [1] zoo_1.5-4
>>
>> loaded via a namespace (and not attached):
>> [1] grid_2.8.0      lattice_0.17-15
>>   
>>> search()
>>>     
>>  [1] ".GlobalEnv"        "package:zoo"       "package:stats"    
>>  [4] "package:graphics"  "package:utils"     "package:datasets" 
>>  [7] "package:grDevices" "package:methods"   "Autoloads"        
>> [10] "package:base"     
>>   
>>> packageDescription("zoo")
>>>     
>> Package: zoo
>> Version: 1.5-4
>> Date: 2008-07-09
>> Title: Z's ordered observations
>> Author: Achim Zeileis, Gabor Grothendieck
>> Maintainer: Achim Zeileis <Achim.Zeileis at R-project.org>
>> Description: An S3 class with methods for totally ordered indexed
>>         observations. It is particularly aimed at irregular 
>time series
>>         of numeric vectors/matrices and factors. zoo's key 
>design goals
>>         are independence of a particular index/date/time class and
>>         consistency with with ts and base R by providing methods to
>>         extend standard generics.
>> Depends: R (>= 2.4.1), stats
>> Suggests: chron, fCalendar, fSeries, its, tseries, lattice,
>>         strucchange, DAAG, xts
>> Imports: stats, utils, graphics, grDevices, lattice
>> LazyLoad: yes
>> License: GPL-2
>> URL: http://R-Forge.R-project.org/projects/zoo/
>> Packaged: Wed Jul 9 18:28:07 2008; zeileis
>> Built: R 2.8.0; ; 2008-10-16 00:01:11; windows
>>
>> -- File: C:/R/package/zoo/Meta/package.rds 
>>   
>>> data(EuStockMarkets)
>>> dax <- as.zoo(EuStockMarkets[1:10, "DAX"])
>>> daxr <- diff(log(dax))
>>> identical(as.vector(qnorm(daxr)), qnorm(coredata(daxr)))
>>>     
>> [1] TRUE
>> Warning messages:
>> 1: In qnorm(p, mean, sd, lower.tail, log.p) : NaNs wurden erzeugt
>> 2: In qnorm(p, mean, sd, lower.tail, log.p) : NaNs wurden erzeugt
>>   
>>> qqnorm(coredata(daxr))
>>> qqnorm(daxr)
>>>     
>> Fehler in if (xi == xj) 0L else if (xi > xj) 1L else -1L : 
>>   Argument hat Länge 0
>> Calls: qqnorm ... xtfrm.default -> as.vector -> rank -> switch -> .gt
>> Ausführung angehalten
>>
>>
>>   
>>> Dear list-reader,
>>>
>>> by running the following script:
>>>
>>> library(zoo)
>>> sessionInfo()
>>> search()
>>> packageDescription("zoo")
>>> data(EuStockMarkets)
>>> dax <- as.zoo(EuStockMarkets[1:10, "DAX"])
>>> daxr <- diff(log(dax))
>>> identical(as.vector(qnorm(daxr)), qnorm(coredata(daxr)))
>>> qqnorm(coredata(daxr))
>>> qqnorm(daxr)
>>>
>>>
>>> qqnorm() produces an error:
>>>
>>>     
>>>> qqnorm(daxr)
>>>>       
>>> Fehler in if (xi == xj) 0L else if (xi > xj) 1L else -1L : 
>>>  Argument hat Länge 0
>>> Calls: qqnorm ... xtfrm.default -> as.vector -> rank -> 
>switch -> .gt
>>> Ausführung angehalten
>>>
>>>
>>> However, this is not witnessed by running the script through R 
>>> 2.7.2 (attached are the two output files). Incidentally, the 
>>> QQ-plot is produced if one uses "qqnorm(coredata(daxr))" under 
>>> R version 2.8.0. After having read both NEWS on CRAN (General 
>>> and Windows specific) I still could not figure out what causes 
>>> this result. The version of package zoo is the same and the 
>>> results do not change if I use the zoo package built under R 
>>> version 2.7.2 with R version 2.7.2 or the one that has been 
>>> built under R version 2.8.0.
>>>
>>> Any hints and enlightenment are most welcome.
>>>
>>> Best,
>>> Bernhard
>>>
>>>
>>> *****************************************************************
>>> Confidentiality Note: The information contained in this message,
>>> and any attachments, may contain confidential and/or privileged
>>> material. It is intended solely for the person(s) or entity to
>>> which it is addressed. Any review, retransmission, dissemination,
>>> or taking of any action in reliance upon this information by
>>> persons or entities other than the intended recipient(s) is
>>> prohibited. If you received this in error, please contact the
>>> sender and delete the material from any computer.
>>> *****************************************************************
>>>
>>>     
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>   
>
>
>-- 
>   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
>  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
> (*) \(*) -- University of Copenhagen   Denmark      Ph:  
>(+45) 35327918
>~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)              FAX: 
>(+45) 35327907
>
>
>



More information about the R-devel mailing list