识别代表序列对应的个体

问题描述 投票:0回答:1

我尝试(未成功)识别代表对应的个人 序列,使用 seqrep()。

我读了 Gabadinho, A. 和 G. Ritschard (2013),“寻找应用于分娩史的典型生活轨迹”,In Levy, R. & Widmer, E.(编辑)性别生活课程 - 个性化与标准化之间。适用于瑞士的欧洲方法,第 287-312 页。维也纳:LIT。

我能够使用 seqrplot() 可视化序列数据的代表性序列,并在 seqrep 中使用不同的参数(“频率”、“密度”...)。

我的目标是在相关的调查数据库中识别代表性序列对应的个人,以描述他们的(即社会)特征。

我无法执行此步骤。

感谢您的帮助。 此致, 雅克·安托万

cluster-analysis sequence traminer central
1个回答
0
投票

如果我理解得好的话,你想要代表性序列的索引。由于代表序列取自数据集,因此它们属于数据集。我们可以通过搜索与代表距离为 0 的序列来识别它们。然而,一个代表性序列可能在同一个数据集中出现多次,即,与代表性的距离为 0 处可能存在多个序列。

以下是如何识别数据集中每个代表第一次出现的索引。

library(TraMineR)
data(biofam)
biofam.lab <- c("Parent", "Left", "Married", "Left+Marr",
                "Child", "Left+Child", "Left+Marr+Child", "Divorced")
biofam.seq <- seqdef(biofam, 10:25, labels=biofam.lab)
## Computing the distance matrix
costs <- seqsubm(biofam.seq, method="TRATE")
biofam.om <- seqdist(biofam.seq, method="OM", sm=costs)
## Representative set using the neighborhood density criterion
biofam.rep <- seqrep(biofam.seq, diss=biofam.om, criterion="density")

rep.dist <- attr(biofam.rep,"Distances")
## retrieving assigned representative
rep.grp <- apply(rep.dist, 1, which.min)
## distance to its representative
dist.to.rep <- apply(rep.dist,1, min, na.rm=TRUE)

nrep = ncol(rep.dist)
idx.rep <- integer(length=nrep)
for (i in 1:nrep){
  idx.rep[i] <- which(dist.to.rep[rep.grp==i] == 0)[1]
}
idx.rep
## [1] 15  8  1 41

第一个代表序列第一次出现对应情况 15,第二次出现对应情况 8,第三次出现对应情况 1,第四次出现对应情况 41。

© www.soinside.com 2019 - 2024. All rights reserved.