首页 文章

替换序列中的NA值以获取状态代码

提问于
浏览
2

我使用的数据集是一个已经制作成长形的数据集 . 它包括年轻人的工作状态,是部分或全职 Contract 的字母表 . 所有 NA 值都被视为另一个州:失业 . 检查TramineR user's guideseqdef() 帮助似乎可以在 seqdef() 创建STS对象时直接执行,因为supporting documents中对此进行了简要说明:

left:缺失值的行为出现在每个序列中第一个(最左边)有效状态之前 . 见Gabadinho等 . (2010)有关在定义序列对象时处理缺失值的选项的更多详细信息 . 默认情况下,左缺失值被视为“实际”缺失值,并转换为nr选项定义的内部缺失值代码 . 其他选项是“删除”以删除包含缺失值的位置或状态代码(属于字母或不属于)以替换缺失值 .

我没有成功尝试用新的状态代码替换 *% 值,这在实际条件下无论如何都被视为缺失(例如,在绘制序列时) . 在检查 leftrightgaps 参数后,它似乎也不是关键 .

有人可以提示如何指定状态代码,所以 NA 值实际上被视为字母表中包含的状态吗?非常感谢!

1 回答

  • 1

    下面是一个示例,其中左侧,间隙和右侧NA由新状态 ne (不在教育中)替换 . 注意我们如何将元素 ne 添加到字母表中 .

    lab <- seqstatl(eduSTS.age)
    long.lab <- c(lab, "not in education")
    alphabet <- c(lab, "ne")
    short.lab <- c("AP", "CS", "EV", "MA", "HS", "OT", "TV", "HV", "ne")
    edu.seq <- seqdef(eduSTS.age, informat = "STS", alphabet = long.lab,
           states = short.lab, label = long.lab, missing = NA, left = "ne",
           gaps = "ne", right = "ne")
    

    实际上,正如您在上面的示例中所看到的,作为 leftgapsright 参数传递的字符串应该是 states (短标签)之一 . 如果这不是现有状态,则必须将其添加到 states ,但是还需要将相应的元素添加到 alphabet ,如果使用它,则需要添加到长 label .

    希望这可以帮助 .

相关问题