6

可能重复:
如何创建行名变量?


请在 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    

我得到的是:

           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 

我想要得到的是:

        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 

我怎样才能做到这一点?

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

4

1 回答 1

14

好的。因此,它与您之前的问题并不完全相同,因为这是一个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

如需有关此处操作的帮助,请查看使用?indexClass以阅读包index中的文档XTS

于 2012-07-11T10:02:10.983 回答