我曾经使用TraMineR函数seqfplot()和参数yaxis =“pct”,它很好地将每个序列的百分比值放在y轴上。在这个过程中的某个地方,软件包的一些更新不知何故丢失了这个功能(我现在使用的是2.2-7版本),并且抛出了一个错误。
library(TraMineR) # version 2.2-7
数据来源于?seqplot:
data(actcal)
set.seed(1)
actcal <- actcal[sample(nrow(actcal),300),]
actcal.lab <- c("> 37 hours", "19-36 hours", "1-18 hours", "no work")
actcal.seq <- seqdef(actcal,13:24,labels=actcal.lab)
一个简单的图,但不带我想要的y轴注解(应显示每个序列的百分比值):
seqfplot(actcal.seq)
这在早期版本的TraMineR中是有效的,现在它会抛出一个错误:如果不符合逻辑,yaxis应该是“all”或“left”之一
seqfplot(actcal.seq, yaxis = "pct")
使用时?plot.stslist.freq直接,它做了seqfplot曾经做过的事情:
x <- seqtab(actcal.seq)
plot(x, yaxis = "pct")
但是它没有seqfplot的所有复杂功能(比如允许分组和自动显示州颜色图例)。问题似乎是参数yaxis同时在seqfplot()和plot.stslist.freq()中使用,但使用方式不同,因此不能通过。
我能以某种方式让seqfplot(actcal.seq,yaxis =“pct”)像以前一样工作吗?
1条答案
按热度按时间bfrts1fy1#
听起来像是最近TraMineR更新后的一个bug。我相信优秀的TraMineR团队一旦意识到这个问题(无论是由于您的问题还是直接消息),就会解决这个问题。
与此同时,我想向你指出一个用于绘制序列数据的替代包,我写这个包是因为我通常使用ggplot 2而不是base R plot。也许,这对你来说也是一个有趣的选择。
创建于2023-05-04使用reprex v2.0.2