Re: [R] Another quantmod question

From: David Winsemius <dwinsemius_at_comcast.net>
Date: Sun, 08 May 2011 15:21:21 -0400

On May 8, 2011, at 3:07 PM, Russ Abbott wrote:

> I'm having troubles with the names of columns.
>
> quantmod deal with stock quotes. I've created an array of the first 5
> closing prices from Jan 2007. (Is there a problem that the name is
> the same
> as the variable name? There shouldn't be.)
>
>> close
>
> close
>
> 2007-01-03 1416.60
>
> 2007-01-04 1418.34
>
> 2007-01-05 1409.71
>
> 2007-01-08 1412.84
>
> 2007-01-09 1412.11
>
>
> When I try to create a more complex array by adding columns, the
> names get
> fouled up. Here's a simple example.
>
>> cbind(changed.close = close+1, zero = 0, close)

I suspect that you are actually using xts objects that you are incorrectly calling 'array's. If something is puzzling about the behavior of an R object the first thing to do is see what you are really dealing with so ... str(object)

If you load the xts package and type ?cbind.xts , you get a help page for merge.xts.

(In base R I do not know of a way to assign columns the way you propose within a `merge` call.)

Here is the code for cbind.xts:

 > cbind.xts
function (..., all = TRUE, fill = NA, suffixes = NULL) {

     merge.xts(..., all = all, fill = fill, suffixes = suffixes) }
<environment: namespace:xts>

>
> close zero close.1
>
> 2007-01-03 1417.60 0 1416.60
>
> 2007-01-04 1419.34 0 1418.34
>
> 2007-01-05 1410.71 0 1409.71
>
> 2007-01-08 1413.84 0 1412.84
>
> 2007-01-09 1413.11 0 1412.11
>
>
> The first column should be called "changed.close", but it's called
> "close".
> The second column has the right name. The third column should be
> called
> "close" but it's called "close.1". Why is that? Am I missing
> something?
>
> If I change the order of the columns and let close have its original
> name,
> there is still a problem.
>
>> cbind(close, zero = 0, changed.close = close+1)
>
> close zero close.1
>
> 2007-01-03 1416.60 0 1417.60
>
> 2007-01-04 1418.34 0 1419.34
>
> 2007-01-05 1409.71 0 1410.71
>
> 2007-01-08 1412.84 0 1413.84
>
> 2007-01-09 1412.11 0 1413.11
>
>
> Now the names on the first two columns are ok, but the third column
> is still
> wrong. Again, why is that? Apparently it's not letting me assign a
> name to
> a column that comes from something that already has a name. Is that
> the way
> it should be?
>
> I don't get that same problem on a simpler example.
>
>> IX <- cbind(I=0, X=(1:3))
>
>> IX
>
> I X
>
> [1,] 0 1
>
> [2,] 0 2
>
> [3,] 0 3
>
>> cbind(Y = 1, Z = IX[, "I"], W = IX[, "X"])
>
> Y Z W
>
> [1,] 1 0 1
>
> [2,] 1 0 2
>
> [3,] 1 0 3
>
>
> Is this a peculiarity to xts objects?
>
> Thanks.
>
> *-- Russ *
> *
> *
> P.S. Once again I feel frustrated because it's taken me far more
> time than
> it deserves to track down and characterize this problem. I can fix
> it by
> using the names function. But I shouldn't have to do that.
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help_at_r-project.org mailing list
> 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.

David Winsemius, MD
West Hartford, CT



R-help_at_r-project.org mailing list
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. Received on Sun 08 May 2011 - 19:24:04 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sun 08 May 2011 - 20:30:05 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive