时间戳IBM SPSS Modeler之间的顺序

时间:2015-12-03 09:58:55

标签: timestamp sequence spss spss-modeler

我在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中会产生大量开销。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

在Modeler 17.1及更低版本中:

  1. 将其转换为长格式。通过两个FILTER节点拆分数据。第一个过滤掉“结束”变量,第二个过滤掉“开始”并将“结束”重命名为“开始”。然后用APPEND节点附加它。

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

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

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

    • 可以使用带有MERGE的USER INPUT,然后使用SELECT,BALANCE节点或一些奇怪的时间序列模型,但它不优雅且无法使用参数(Python脚本应该克服这一点,但我还没有尝试过)