很高兴看到你自己修复错误。我来说吧 seqdef 没有 with.missing 争论,那就是放手 void 以其默认值解决问题。
seqdef
with.missing
void
让我评论一下你试图做的分析。
从您的示例数据中,您似乎尝试创建状态序列,其中状态将是消费者篮子。但是,根据您的描述,您似乎对产品序列感兴趣。我首先解释你应该如何进行产品序列,然后评论从交易中创建状态的相关性。
由于您有交易(事件),您的数据应该是带时间戳的事件(TSE),而不是法术。 TraMineR 可以处理TSE数据,但是期望它们作为每个事件的一个不同的行(id,time,event),即,如果您想要产品序列,则对于每个购买的产品。例如,日期 6 为客户 k622 ,你应该有8行,5行作为日期 8 。获得这种TSE格式的数据后,您可以创建一个事件序列对象 seqecreate ,然后使用事件序列的不同函数( seqpcplot , seqefsub ,...)。
TraMineR
6
k622
8
seqecreate
seqpcplot
seqefsub
您无法直接从TSE数据创建状态序列,因为与同时发生的事件不同,不允许同时发生状态。如果要将函数用于状态序列,可以尝试使用。将事件序列转换为状态序列 TSE_to_STS 功能来自 TraMineRextras 。这里有两个问题需要解决。首先,您必须确定一组同步事务定义的状态。第二,你定义的国家的持续时间是多少?此外,对于状态序列分析,您考虑的产品数量过高 TraMineR ,特别是对于需要400种对比色的视觉探索。
TSE_to_STS
TraMineRextras
总之,你在这里有一个非常复杂的任务,我同意你的看法 TraMineR 也许不是你想要做的最适合的套餐。至少你应该尝试将你的产品大幅聚合成一个合理的数字。