[R] Help with data type

Don MacQueen macq at llnl.gov
Tue Aug 4 01:57:58 CEST 2009

It's because Delta isn't a number. Or, more accurately,  Delta[1] and 
Delta[i-1] are not numbers. The are objects that have a class, and 
therefore an internal structure:

>  class(Delta[1])
[1] "xts" "zoo"

To understand what's going on, you need to understand the structure 
of these classes, and what operations you can and can't do on them. 
In the meantime, however, try

    as.numeric(Delta[i]) > as.numeric(Delta[i-1])


At 7:48 AM -0700 8/3/09, ehxpieterse wrote:
>Hi there,
>Using a quantmod function, I calculate the daily change between two points
>in a time series. However, I don't think I am using the data correctly.
>getSymbols("^GSPC", src="yahoo")
>CloseData <- Cl(GSPC)
>Delta <- diff(CloseData, lag=1)
>for (i in 3:length(Delta)) {
>  if (Delta[i]>Delta[i-1]) sum <- sum + Delta 
>I can't seem to use the Delta variable. Can anyone point me in the right
>direction to transform the variable into a usable one?
>>  Delta[i-1]
>            GSPC.Close
>2000-01-04      -55.8
>>  Delta[i]
>            GSPC.Close
>2000-01-05       2.69
>>  Delta[i-1]*10
>            GSPC.Close
>2000-01-04       -558
>>  Delta[i-1]+Delta[i]
>Thanks in advance,
>View this message in context: 
>Sent from the R help mailing list archive at Nabble.com.
>R-help at r-project.org mailing list
>PLEASE do read the posting guide http://*www.*R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

Don MacQueen
Environmental Protection Department
Lawrence Livermore National Laboratory
Livermore, CA, USA

More information about the R-help mailing list