我试图通过TraMineR中的函数seqIplot()绘制单个序列。这些单独的序列代表工作轨迹,由前学校毕业生通过WEB调查问卷完成。
使用参数“sortv”,我想根据一个协变量的等级,毕业年份,命名为“PROMO”来对序列进行排序。 “PROMO”是一个包含在名为“covariates.seq”的数据框中的因子变量,它将协变量聚集在一起:
str(covariates.seq)
'data.frame': 733 obs. of 6 variables:
$ ID_SQ : Factor w/ 733 levels "1","2","3","5",..: 1 2 3 4 5 6
7 8 9 10 ...
$ SEXE : Factor w/ 2 levels "Féminin","Masculin": 1 1 1 1 2 1
1 2 2 1 ...
$ PROMO : Factor w/ 6 levels "1997","1998",..: 1 2 2 4 4 3 2 2
2 2 ...
$ DEPARTEMENT : Factor w/ 10 levels "BC","GCU","GE",..: 1 4 7 8 7 9
9 7 7 4 ...
$ NIVEAU_ADMISSION: Factor w/ 2 levels "En Premier Cycle",..: NA 1 1 1 1
1 NA 1 1 1 ...
$ FILIERE_SECTION : Factor w/ 4 levels "Cursus Classique",..: NA 4 2 NA
1 1 NA NA 4 3 ..
我也使用“SEXE”,即毕业生的性别,作为分组变量。为了绘制各个序列,我的命令如下:
seqIplot(sequences, group = covariates.seq$SEXE,
sortv = covariates.seq$PROMO,
cex.axis = 0.7, cex.legend = 0.7)
我预计,通过使用一个过程时间轴(以分度年为序列的原点),按照“PROMO”水平的顺序对序列进行排序,可以得到一组来自最长的(对于年龄较大的毕业生)最短(对于年龄较大的毕业生)。
但是我遇到了一个问题:在输出图中,序列似乎没有根据“PROMO”的级别正确排序。实际上,通过使用上面命令中的“sortv = covariates.seq $ PROMO”,该图不会像预期的那样显示从最长到最短的序列组。它看起来像是在没有使用“sortv”参数的情况下获得的(见下图)。
Without using argument "sortv"
Using "sortv = covariates.seq$PROMO"
请注意,我的对象“序列”中有733个单独的序列,创建如下:
labs <- c("En poste","Au chômage (d'au moins 6 mois)", "Autre situation
(d'au moins 6 mois)","En poursuite d'études (thèse ou hors
thèse)", "En reprise d'études / formation (d'au moins 6 mois)")
codes <- c("En poste", "Au chômage", "Autre situation", "En poursuite
d'études", "En reprise d'études / formation")
sequences <- seqdef(situations, alphabet = labs, states = codes, left =
NA, right = "DEL", missing = NA,
cnames = as.character(seq(0,7400/365,1/365)),
xtstep = 365)
协变量的值按与各个序列相同的顺序排序。协变量“PROMO”不包含任何缺失值。
出了点问题,但是什么?
提前感谢您的帮助,
最佳,
阿诺。
答案 0 :(得分:0)