0

我在 IBM SPSS Modeler 中的两个时间戳之间生成时间序列(以秒为单位)时遇到问题。所以我聚合后的琐碎数据如下所示:

| start               | end                 |
--------------------------------------------------
| 2015-01-01 12:00:00 | 2015-05-30 12:00:00 |
--------------------------------------------------

我的目标是得到这个:

| start               |
--------------------------------------------------
| 2015-01-01 12:00:00 |
--------------------------------------------------
| 2015-01-01 12:00:00 |
--------------------------------------------------
| 2015-01-01 12:00:01 |
--------------------------------------------------
| …                   |
--------------------------------------------------
| 2015-05-30 11:59:59 |
--------------------------------------------------
| 2015-05-30 12:00:00 |
--------------------------------------------------

在 R 中生成序列seq(start, stop, by=1)非常好,但在 Modeler 中会产生大量开销。

4

2 回答 2

1

我对建模器不太熟悉,但你能找到时间(秒)的差异,然后循环一个派生节点多次并转置吗?

这显然不是一个很好的解决方案,但我能想到的唯一一个。

于 2016-05-20T21:13:44.617 回答
0

在 Modeler 17.1 及更低版本中:

  1. 将其转换为长格式。按两个 FILTER 节点拆分数据。第一个过滤掉“end”变量,第二个过滤掉“start”并将“end”重命名为“start”。然后将其附加到 APPEND 节点。

    | start|
    | 2015-01-01 12:00:00 |    
    | 2015-05-30 12:00:00 |
    
  2. 然后,您可以使用 TIME INTERVALS 节点设置为“每天秒数”和“从数据构建”,并选择“开始”变量。

  3. 不要忘记在“构建”面板中设置“最大记录数...”,否则在大多数情况下会导致错误。

我对 Modeler 18 没有很好的解决方案:

  • 可以将 USER INPUT 与 MERGE 然后 SELECT、BALANCE 节点或一些奇怪的时间序列模型一起使用,但它并不优雅并且不可能使用参数(Python 脚本应该可以克服这个问题,但我还没有尝试过)。
于 2016-11-10T08:55:38.713 回答