1

我正在学习 TraMineR 并使用了不同类型的纵向数据。我的原始数据是带有 id、开始时间、结束时间和状态的 SPELL 数据,其中开始和结束时间是确切的日期,所以我的子序列有不同的长度

使用 seqformat() 我可以将数据(自动)切成 1 年的片段并转换为 STS 格式,例如。其中第一个变量是第一个日期,第二个变量是第一个日期 + 1 年,依此类推。

我想做的是调整转换,以便我可以使用半年或一个月的时间段。

在这里,我使用 decimal.date() 将日期转换为带小数的年份:

         id start    end         status
1         1 1965.138 1965.974    1
2         1 1968.714 1987.237    1
3         1 1985.667 2003.933    2
4         1 1988.499 1988.665    1
5         1 1996.652 1996.878    1

自动创建的序列对象具有一年子序列中的数据:

$ y1960.16803278689
$ y1961.16803278689
$ y1962.16803278689
$ y1963.16803278689

因此,对于带有日期的数据,我希望可以选择使用短于 1 年的子序列长度。我知道使用 seqgranularity() 可能会发生相反的情况。

或者,我很想知道在 TraMineR 之外的 R 中是否有某种方式来处理 SPELL 数据以创建特定长度的子序列。

4

0 回答 0