Skip to content

Quantmod: Problem with Lo(LOW)

2 messages · Keith Sabol, Joshua Ulrich

#
There appears to be a problem with Lo() when used with ticker "LOW".

library(quantmod)

getSymbols("LOW")
[1] "LOW"
Error in `-.default`(Lo(x), Cl(x)) : non-conformable arrays
LOW.Open LOW.High LOW.Low LOW.Close LOW.Volume LOW.Adjusted
2007-01-03    31.21    32.31   31.15     32.04   14143200        32.04
2007-01-04    32.40    32.50   31.61     32.18    8351900        32.18
2007-01-05    32.16    32.41   31.59     31.79    8295600        31.79
2007-01-08    31.62    31.82   31.13     31.70    6423400        31.70
2007-01-09    31.76    32.05   31.69     31.87    5053300        31.87
2007-01-10    31.71    32.59   31.70     32.47    8741800        32.47
function (x)
{
    if (has.Lo(x))
        return(x[, grep("Low", colnames(x), ignore.case = TRUE)])
    stop("subscript out of bounds: no column name containing \"Low\"")
}
<environment: namespace:quantmod>
head(LOW[, grep("Low", colnames(LOW), ignore.case = TRUE)])
           LOW.Open LOW.High LOW.Low LOW.Close LOW.Volume LOW.Adjusted
2007-01-03    31.21    32.31   31.15     32.04   14143200        32.04
2007-01-04    32.40    32.50   31.61     32.18    8351900        32.18
2007-01-05    32.16    32.41   31.59     31.79    8295600        31.79
2007-01-08    31.62    31.82   31.13     31.70    6423400        31.70
2007-01-09    31.76    32.05   31.69     31.87    5053300        31.87
2007-01-10    31.71    32.59   31.70     32.47    8741800        32.47

One viable remedy appears to be adding a period before "Low" in the grep
line:


head(LOW[, grep(".Low", colnames(LOW), ignore.case = TRUE)])
           LOW.Low
2007-01-03   31.15
2007-01-04   31.61
2007-01-05   31.59
2007-01-08   31.13
2007-01-09   31.69
2007-01-10   31.70
Hope this helps.

Thanks for your great work on this package Josh.

Keith
#
On Sat, Jun 3, 2017 at 12:10 PM, Keith Sabol <sabolkj at gmail.com> wrote:
This has been suggested before, and does not work:
https://github.com/joshuaulrich/quantmod/issues/24