将XTS对象转换为data.frame

use*_*618 5 r xts

可能重复:
如何创建一个rownames变量?


请在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    
Run Code Online (Sandbox Code Playgroud)

我得到的是:

           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 
Run Code Online (Sandbox Code Playgroud)

我想得到的是:

        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 
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

请注意,这是一个XTS对象,而不是基本对象data.frame.转换后,我希望原始的rownames在结果中显示为新变量data.frame.

A5C*_*2T1 11

好.因此,它与您之前的问题不完全相同,因为这是一个XTS对象.仍然,很容易照顾:

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
Run Code Online (Sandbox Code Playgroud)

有关正在这里做了什么帮助,查看使用?indexClass阅读文档indexXTS包.