gpt4 book ai didi

r - 绘制事件序列/事件序列聚类

转载 作者:行者123 更新时间:2023-12-05 01:27:40 28 4
gpt4 key购买 nike

也许这是一个非常无聊的问题,但我对此进行了研究,但找不到答案。

我想以与使用 seqIplotseqfplotseqdplot 绘制状态序列相同的方式绘制事件序列seqmtplot。一般来说,seqplot

当我尝试这样做时,我收到消息:

Error: data is not a sequence object, use seqdef function to create one

让我相信这些函数仅适用于状态序列。

在用户指南第 10 部分中,他们仅给出了子序列图的示例。但这些并不完全相同。

1) 有没有办法生成上述事件序列图?其中状态将是过渡。

此外,当我尝试计算距离矩阵时,我收到类似的错误:

Error:  [!] data is not a state sequence object, use 'seqdef' function to create one

2)是否可以计算距离矩阵,然后将聚类方法应用于事件序列?

谢谢!

最佳答案

你是对的。 seqplot 系列函数仅适用于状态序列。

要将事件序列绘制为状态序列,您必须首先将它们转换为状态序列。

假设您的事件序列采用 TSE 格式(垂直时间戳事件形式),如 TraMineR 提供的 actcal.tse 示例文件,您可以将它们转换为使用配套 TraMineReextras 包的 TSE_to_STS 状态序列。

对于转换,您必须指定每个事件之后您所处的状态。您可以通过使用 seqe2stm 函数创建转换矩阵来实现此目的。该矩阵的每个单元格应该给出新的状态,该状态是在我们处于相应的行状态(行名称)时发生列事件(列名称)时产生的。

为了说明这一点,这里是 TSE_to_STS 帮助页面的示例

data(actcal.tse)
events <- c("PartTime", "NoActivity", "FullTime", "LowPartTime")

## States defined by last occurred event (forgetting all previous events).
stm <- seqe2stm(events, dropList=list("PartTime"=events[-1],
NoActivity=events[-2], FullTime=events[-3],
LowPartTime=events[-4]))

mysts <- TSE_to_STS(actcal.tse[1:100,], id=1, timestamp=2, event=3,
stm=stm, tmin=1, tmax=12, firstState="None")

一旦获得 STS 形式的状态序列,您就可以创建状态序列对象并绘制它们。

my.seq <- seqdef(mysts)
seqdplot(my.seq)

或者,您可以使用 seqpcplot 函数绘制事件序列的并行坐标图。该函数的帮助页面上有很多示例。有关情节的详细信息,请参阅

Bürgin, R. 和 Ritschard, G. (2014),“分类纵向数据的装饰平行坐标图”,《美国统计学家》。卷。 68(2),第 98-103 页。 doi

希望这有帮助。

关于r - 绘制事件序列/事件序列聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28965909/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com