Skip to content

R Newbie: quantmod and zoo: Warning in rbind.zoo(...) : column names differ

2 messages · Aval Sarri, Achim Zeileis

#
Hello;

I am trying following but getting a warning  message : Warning in
rbind.zoo(...) : column names differ, no matter whatever I do.

Also I do not want to specify column names manually, since I am just
writing a wrapper function around getSymbols to get chunks of data
from various sources - oanda, dividends etc.

I tried giving col.names = T/F, header = T/F and skip = 1 but no help.

I think problem is that getSymbols returns a zoo objects whose
index/first column is null.  I write these data in a file and read it
again using read.zoo; when I try to append to these data (using one
more call to getSymbols) it throws this warning message.


<code>
library("quantmod")
options(warn = 1)

part1<-getSymbols(Symbols="USD/EUR", src="oanda", from="2008-01-01",
to="2008-01-10", auto.assign=F, return.class="zoo")
print(dimnames(part1))
write.zoo(part1,"USDEUR", col.names=T) # writes as

part2 <- read.zoo("USDEUR", header=T)
print (dimnames(part2)) # dinames or attributes

part3<-getSymbols(Symbols="USD/EUR", src="oanda", from="2008-01-21",
to="2008-01-31", auto.assign=F, return.class="zoo")
print(dimnames(part3))

allpart <- c(part2, part3)
cat ("-----allparts----\n")
print(dimnames(allpart))

write.zoo (allpart, "USDEUR.all", col.names=T)
</code>

I am not sure how to handle this, please kindly provide some pointer.

Thanks and Regards
-Aval.
#
On Wed, 3 Sep 2008, Aval Sarri wrote:

            
The data in objects part1 and part3 are both matrices of dimension 10x1 
and 11x1, respectively, with column name USD.EUR. part2, on the other 
hand, contains a vector of length 10 and consequently has no column names.
Hence, column matching does not work and the c()/rbind() method complains.

The easiest thing is to turn part3 into a vector and then combine
   c(part2, part3[,1])

The reason for part2 being different is the following: zoo seems to drop 
the dimension of 1-column series in a few places, e.g., in read.zoo(). 
I just added a drop = TRUE argument to read.zoo() in the devel version.

hth,
Z