On 17/06/2023 1:16 p.m., akshay kulkarni wrote:
Dear members,

                           I have the following code:

FUN(OHLCDataEP[[63]])
Error in (class(x) == "xts") || (class(x) == "zoo") :
   'length = 2' in coercion to 'logical(1)'
traceback()
2: ygix(x, "c") at <tmp>#9
1: FUN(OHLCDataEP[[63]])
class(OHLCDataEP[[63]])
[1] "xts" "zoo"

The following is in ygix() :

if((class(x) == "xts") || (class(x) == "zoo")

I think this would have been a warning 
(https://stackoverflow.com/questions/72848442/r-warning-lengthx-2-1-in-coercion-to-logical1)
 but I am on a ubuntu22.04 machine with R 4.3.0.

What should I do? Change it to:
if((class(x)[1] == "xts") || (class(x)[2] == "zoo")) {code}...

Changing it to `if (inherits(x, c("xts", "zoo")))` should do the same. The vector of classes in the second argument is read as "any of these classes".

Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to