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

时间:2015-07-06 12:44:11

标签: r traminer

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

  

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

我尝试用新的州代码替换*%值未成功,但实际上这些代码被视为缺失(例如,在绘制序列时)。在检查leftrightgaps参数后,它似乎也不是关键。

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

1 个答案:

答案 0 :(得分: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 }}

希望这有帮助。