Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting an XTS object to a data.frame [duplicate]

Tags:

r

xts

Possible Duplicate:
How to create a variable of rownames?


Please run it in R:

require(quantmod)   
setSymbolLookup(SDB=list(name="000001.sz",src="yahoo"))   
getSymbols("SDB",from="2010-01-01",to="2010-02-01")   
sdb=as.data.frame(weeklyReturn(SDB))  
sdb    

What I get is:

           weekly.returns             
2010-01-08    -0.07830343          
2010-01-15    -0.05176991              
2010-01-22     0.07699487              
2010-01-29    -0.05979203         
2010-02-01    -0.02119816 

What I want to get is:

        date  weekly.returns                   
1 2010-01-08     -0.07830343           
2 2010-01-15     -0.05176991         
3 2010-01-22      0.07699487          
4 2010-01-29     -0.05979203            
5 2010-02-01     -0.02119816 

How can I do this?

Note that this is an XTS object, not a basic data.frame. After the conversion, I want the original rownames to appear as a new variable in the resulting data.frame.

like image 303
user1142618 Avatar asked Jul 11 '12 09:07

user1142618


1 Answers

Ok. So, it's not exactly the same as your earlier question since this is an XTS object. Still, very easy to take care of:

data.frame(date = index(weeklyReturn(SDB)), 
           weeklyReturn(SDB), row.names=NULL)
#         date weekly.returns
# 1 2010-01-04    -0.03303426
# 2 2010-01-11    -0.04681569
# 3 2010-01-18    -0.05000000
# 4 2010-01-25     0.03353517
# 5 2010-02-01    -0.04281208

For help on what is being done here, view use ?indexClass to read the documentation for index in the XTS package.

like image 82
A5C1D2H2I1M1N2O1R2T1 Avatar answered Sep 29 '22 09:09

A5C1D2H2I1M1N2O1R2T1