2

我使用的数据集是一个已经制作好的长形数据集。它包括年轻人的工作状态,即兼职或全职合同的字母表。所有NA值都将被视为另一种状态:失业。检查TramineR 用户指南seqdef()帮助似乎可以在创建 STS 对象时直接执行seqdef(),正如支持文档中简要说明的那样:

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

我尝试用新的状态代码替换*%值,但在实际中被视为缺失(例如,在绘制序列时),但未成功。在检查left,rightgaps争论之后,它似乎也不是关键。

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

4

1 回答 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")

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

希望这可以帮助。

于 2015-07-06T20:42:46.107 回答