我正在使用R软件包TraMineR来计算和分析状态序列。 我想使用命令seqfplot获得序列频率图。但是,不是使用
设置要绘制的最频繁序列的数量seqfplot(mydata.seq, tlim=1:20)
设置达到的最常见序列的百分比(例如,50%的样本)将是有用的。我试过这个
seqfplot(mydata.seq, trep = 0.5)
但与seqrep.grp
和seqrep
不同 - trep
命令不支持选项seqfplot
。我应该创建一个新功能吗?
谢谢。
答案 0 :(得分:5)
你是对的,trep
参数是TraMineR seqrep
函数的一个参数,它寻找的代表序列至少占所有序列的trep
百分比。
如果您特别想要最频繁的序列模式,使其累积的百分比频率为50%,那么您必须计算自己的选择过滤器。以下是使用biofam数据的方法。
library(TraMineR)
data(biofam)
bf.seq <- seqdef(biofam[,10:25])
## first retrieve the "Percent" column of the frequency table provided
## as the "freq" attribute of the object returned by the seqtab function.
bf.freq <- seqtab(bf.seq, tlim=nrow(bf.seq))
bf.tab <- attr(bf.freq,"freq")
bf.perct <- bf.tab[,"Percent"]
## Compute the cumulated percentages
bf.cumsum <- cumsum(bf.perct)
## Now we can use the cumulated percentage to select
## the wanted patterns
bf.freq50 <- bf.freq[bf.cumsum <= 50,]
## And to plot the frequent patterns
(nfreq <- length(bf.cumsum[bf.cumsum <= 50]))
seqfplot(bf.seq, tlim=1:nfreq)
希望这有帮助。