将时间序列数据分区为一周的段数增加

时间:2017-09-29 17:40:36

标签: r time-series

我有一个不规则的时间序列。我想将它划分为连续条目之间的时差(例如)一周的段。例如:

<p:inputMask maxlength="18" id="numeroDocumento"
 name="numeroDocumento" label="Número de documento"
 <p:inputMask maxlength="18" id="numeroDocumento"
  name="numeroDocumento" label="Número de documento"
    onkeypress="if((event.which &lt; 48 &amp;&amp; event.which != 46 
    &amp;&amp; event.which != 8) || event.which &gt; 57) return false;">
  value="#{dtConsultarInfController.numeroDocumento}"
  title="#{pmsg['sif.screen.consultarVerificarInf.label.docNumber']}">
  <p:keyFilter regEx="/[\d]/" />
</p:inputMask>
<p:keyFilter for="numeroDocumento" mask="num" preventPaste="false" />
  value="#{dtConsultarInfController.numeroDocumento}"
  title="#{pmsg['sif.screen.consultarVerificarInf.label.docNumber']}">
  <p:keyFilter regEx="/[\d]/" />

将被分区为:

day     X
1       4
3       2
7       4
8       9
10      2
12      4
14      3
15      9
17      7
19      3
26      9

我想我可以用循环来强制它,但我确信有更好的方法,因为这似乎是一个相当普遍的任务。 奖励积分 - 而不是“周”使用一系列天(比如说6-8天)。

1 个答案:

答案 0 :(得分:2)

我们可以使用split返回list data.frame

split(df, df$day%%7)
#$`0`
#  day X
#3   7 4
#7  14 3

#$`1`
#  day X
#1   1 4
#4   8 9
#8  15 9

#$`3`
#  day X
#2   3 2
#5  10 2
#9  17 7

#$`5`
#   day X
#6   12 4
#10  19 3
#11  26 9