数据帧的R中的行名称转换出错

数据帧的R中的行名称转换出错,r,xts,R,Xts,我使用的是r3.0.2,我将一个csv加载到一个数据帧中,我想将其转换为xts格式 我的数据看起来像这样 head(data) V1 V2 V3 V4 V5 V6 V7 V8 V9 1 1999-01-04 1.1812 1.18120 1.18120 1.18120 1.18120 1.18120 1.18120 1.18120 2 1999-01-05 1.1760 1.17860 1.1786

我使用的是
r3.0.2
,我将一个csv加载到一个数据帧中,我想将其转换为
xts
格式

我的数据看起来像这样

head(data)
          V1     V2      V3      V4      V5      V6      V7      V8      V9
1 1999-01-04 1.1812 1.18120 1.18120 1.18120 1.18120 1.18120 1.18120 1.18120
2 1999-01-05 1.1760 1.17860 1.17860 1.17860 1.17860 1.17860 1.17860 1.17860
3 1999-01-06 1.1636 1.17360 1.17360 1.17360 1.17360 1.17360 1.17360 1.17360
4 1999-01-07 1.1672 1.17200 1.17200 1.17200 1.17200 1.17200 1.17200 1.17200
5 1999-01-08 1.1554 1.16868 1.16868 1.16868 1.16868 1.16868 1.16868 1.16555
6 1999-01-11 1.1534 1.16613 1.16613 1.16613 1.16613 1.16613 1.16312 1.15990
根据本文的建议,我尝试如下转换行名称

rownames(data) = data[1]
然而,我得到了下面的错误,我找不到我的出路

Error in `row.names<-.data.frame`(`*tmp*`, value = value) : 
  invalid 'row.names' length

根据非常慷慨的评论,`row.names中的
错误
这里有一个简单的解决方案

rownames(data) <- as.Date(data[,1]) 
dataxts <- xts(data[,-1], order.by=data[,1])

rownames(data)试试
rownames(data)=data[,1]
@AnandaMahto这就成功了!如果你的最终目标是转换到xts,那么德克的答案是最好的
dataxts@AnandaMahto-dirks-answer给了我一个错误,
order.by需要一个适当的基于时间的对象
那么你需要先将你的第一列转换为.Date()
say--但是要小心
stringsAsFactors
等的陷阱。但是有几十篇关于“如何创建xts”的帖子。我想你想要
data[,1]也许为了你的利益,你可以探索一下,试着理解我在评论中分享的解决方案为什么有效。例如参见
str(数据[1])
,而不是
str(数据[1])
str(数据[1])
。另请注意
?xts
order.by
”是唯一时间/日期的对应向量。