首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颜色不显示在seqrplot中

颜色不显示在seqrplot中
EN

Stack Overflow用户
提问于 2018-02-17 00:34:32
回答 1查看 111关注 0票数 1

我有一个关于R TraMineR包中的seqrplot函数的问题,该程序包绘制有代表性的序列集。我有一个符合欧盟法律的关于侵权诉讼的大型数据集(由于诉讼时间较长,我使用seqgranularity函数),并使用以下代码。

代码语言:javascript
复制
library(TraMineR)
library(TraMineRextras)
library(grDevices)

#example data
directives <-
   structure(list(id = c(891L, 6826L, 9451L, 8816L), country_short = structure(c(2L,1L, 1L, 1L), 
.Label = c("I", "P"), class = "factor"), year = c(1992L, 1981L, 1980L, 1980L), 
federal = c(0L, 1L, 1L, 1L), admin = c(5331L, 
1423L, 735L, 656L), pol = c(NA, NA, NA, 223L), adjud = c(NA, NA, NA, 330L), 
postlit = c(NA_integer_, NA_integer_, NA_integer_, NA_integer_), 
ADM = structure(c(2L, 1L, 4L, 3L), .Label = c("(ADM,1423)", "(ADM,5331)", "(ADM,656)", 
"(ADM,735)"), class = "factor"), POL = structure(c(NA, NA, NA, 1L), .Label = "(POL,223)", 
class = "factor"), ADJ = structure(c(NA, NA, NA, 1L), .Label = "(ADJ,330)", 
class = "factor"), PLIT = structure(c(NA_integer_, NA_integer_, NA_integer_, NA_integer_), 
.Label = character(0), class = "factor")), .Names = c("id", "country_short", "year", "federal", 
"admin", "pol", "adjud", "postlit", "ADM", "POL", "ADJ", "PLIT"), row.names = c(NA, 4L), class = "data.frame")  

directives.seq<-seqdef(data=directives, var=9:12, xtstep=364, 
                       informat = "SPS", SPS.in=list(xfix="()",sdsep=","),
                       cpal=c("blue","gray","black","green"),
                       void="%", alphabet=c("ADM","POL","ADJ","PLIT"), 
                       labels=c("Administration phase","Political phase","Adjudication phase","Post-litigation phase"))
directives.seq.month<-seqgranularity(directives.seq, tspan=30, method="first")
directives.om<-seqdist(directives.seq.month, full.matrix=FALSE, method="OM", indel=1, sm="TRATE")
seqrplot(directives.seq.month, diss=directives.om, group=directives$federal, criterion="dist", nrep=3)

然而,该图似乎没有考虑到属于序列对象的调色板。相反,它返回黑色(see screenshot)中的代表性序列。我检查了我的par()设置,它们看起来都很好,因为所有其他的图都是适当的颜色。或者,有没有办法恢复par()的默认设置?我还尝试使用较小的子样例来运行代码,但这并没有改变结果。有谁知道如何解决这个问题吗?

非常感谢您的提前!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-22 23:16:27

问题的出现可能是因为每个观察值周围都画了一个小方框。解决方案是使用border=NA参数。我将使用您的数据进行说明。但是,使用federal组变量时,一个组只有一个序列,而seqrplot按组至少需要两个序列。因此,我更改了序列2的federal值。

代码语言:javascript
复制
directives$federal[2] <- 0
seqrplot(directives.seq.month, diss=directives.om, 
    group=directives$federal, criterion="dist", 
    nrep=2, border=NA)

正如您在下面看到的,颜色按预期显示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48831115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档