如何确定代表序列对应的被代表序列?及na、nb指标解读
TraMineR序列代表集相关问题解答
1. 如何定位代表序列对应的被代表原始序列
在TraMineR中,seqrep函数返回的结果对象包含assign元素,它记录了每条原始序列对应的代表序列ID。你可以通过以下步骤找到r1对应的627条原始序列:
- 提取分配关系:
assign_vec <- biofam.rep$assign,这个向量长度等于原始序列总数(2000),每个元素对应原始序列被分配到的代表序列名称(如"r1"、"r2"等)。 - 筛选r1对应的序列索引:
r1_indices <- which(assign_vec == "r1"),运行后r1_indices就是627条原始序列的位置索引。 - 提取对应的原始序列:
r1_represented <- biofam.seq[r1_indices, ],即可得到r1所代表的全部原始序列。
完整代码示例:
# 提取分配关系 assign_vec <- biofam.rep$assign # 找到r1对应的序列索引 r1_indices <- which(assign_vec == "r1") # 获取对应的原始序列 r1_represented <- biofam.seq[r1_indices, ] # 验证结果数量(应为627) length(r1_indices)
2. 指标na和nb的含义与解读,以及代表范围说明
na 指标
- 含义:
na是被分配给该代表序列的原始序列数量,即该代表序列负责“代表”的序列总数。 - 解读:
na(%)是该数量占原始序列总数的比例,反映代表序列的覆盖范围。比如r1的na=627、na(%)=31.4,说明31.4%的原始序列被归到r1的组中。四个代表的na总和为2000,与原始序列总数一致,说明这4个代表序列覆盖了全部2000条原始序列,每条原始序列都被分配到了最相似的代表序列下。
nb 指标
- 含义:
nb是该代表序列的邻域内的序列数量,邻域指与该代表序列的距离小于等于特定阈值(由seqrep的密度准则自动计算或用户指定)的序列集合。 - 解读:
nb(%)是邻域序列数占原始总数的比例,反映代表序列的“核心相似序列”数量。比如r1的nb=225,意味着有225条序列与r1的相似度足够高,属于它的核心邻域;这部分只是r1所代表的627条序列中的一部分。
代表范围疑问解答
示例中的4个代表序列是代表全部2000条原始序列的,因为四个代表的na总和为2000,对应所有原始序列都被分配到了其中一个代表序列下。而nb总和556只是所有代表序列的核心邻域序列总数,并非代表的全部覆盖范围。
内容的提问来源于stack exchange,提问作者Metro
相关产品推荐
相关产品推荐

