时间序列(xts)strptime;只有一个月和一天

时间:2013-11-25 02:16:26

标签: r xts strptime

我一直试图在我的数据帧上做一个时间序列,我需要从我的csv中删除时间。这就是我所拥有的:

campbell <-read.csv("campbell.csv")

campbell$date = strptime(campbell$date, "%m/%d")
campbell.ts <- xts(campbell[,-1],order.by=campbell[,1])

首先,我要做的就是让xts将日期剥离为“xx / xx”,这意味着只有月和日。我没有一年的数据。当我尝试第二行代码并调用日期列时,它会将其转换为“2013-xx-xx”。这几个月和几天没有相关的年份,我无法弄清楚如何摆脱2013年。(我呼吁的csv文件的日期格式为“9 / 30,10 / 1。 ..等。)

其次,一旦我尝试制作时间序列(第三行),我不确定“order.by”命令正在调用什么。我索引的是什么?

任何帮助??

谢谢!

2 个答案:

答案 0 :(得分:1)

对于strptime,您需要提供完整日期,即日,月和年。如果没有提供任何这些,则从系统的时间假定当前的那些并附加到不完整的日期。因此,如果您希望在阅读时保留日期格式,请先复制该格式并存储在临时变量中,然后使用strptime而不是campbell$date转换为R可读日期格式。因为,年份不是您的担忧,即使它被strptime自动附加,您也无需担心它。

campbell <-read.csv("campbell.csv")
date <- campbell$date
campbell$date <- strptime(campbell$date, "%m/%d")

其次,您通过“第三行”(xts(campbell[,-1],order.by=campbell[,1]))命令执行的操作是,您要告知订购campbell除第一列(campbell[,-1]以外的所有数据)根据campbellcampbell[,1])第一列中时间数据提供的索引。因此,只有在 date 位于第一列时才会起作用。

根据时间序列对数据进行排序后,您可以将campbell$date列替换为date以取回您想要的日期格式(尽管在这里,首先您需要订购{{1}也如下所示)

date

答案 1 :(得分:0)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id=button>Button
  </button>