gpt4 book ai didi

r - 使用 geom_tile( ) 在 ggplot2 中绘制序列索引图

转载 作者:行者123 更新时间:2023-12-02 09:03:12 24 4
gpt4 key购买 nike

我正在尝试使用 ggplot 创建序列图,以便使用序列分析在我的论文中保持相同的视觉风格。我愿意:

library(ggplot2)
library(TraMineR)
library(dplyr)
library(tidyr)
data(mvad)
mvad_seq<-seqdef(mvad,15:length(mvad))
mvad_trate<-seqsubm(mvad_seq,method="TRATE")
mvad_dist<-seqdist(mvad_seq,method="OM",sm=mvad_trate)
cluster<-cutree(hclust(d=as.dist(mvad_dist),method="ward.D2"),k=6)
mvad$cluster<-cluster
mvad_long<-gather(select(mvad,id,contains("."),-matches("N.Eastern"),-matches("S.Eastern")),
key="Month",value="state",
Jul.93, Aug.93, Sep.93, Oct.93, Nov.93, Dec.93, Jan.94, Feb.94, Mar.94,
Apr.94, May.94, Jun.94, Jul.94, Aug.94, Sep.94, Oct.94, Nov.94, Dec.94, Jan.95,
Feb.95, Mar.95, Apr.95, May.95, Jun.95, Jul.95, Aug.95, Sep.95, Oct.95, Nov.95,
Dec.95, Jan.96, Feb.96, Mar.96, Apr.96, May.96, Jun.96, Jul.96, Aug.96, Sep.96,
Oct.96, Nov.96, Dec.96, Jan.97, Feb.97, Mar.97, Apr.97, May.97, Jun.97, Jul.97,
Aug.97, Sep.97, Oct.97, Nov.97, Dec.97, Jan.98, Feb.98, Mar.98, Apr.98, May.98,
Jun.98, Jul.98, Aug.98, Sep.98, Oct.98, Nov.98, Dec.98, Jan.99, Feb.99, Mar.99,
Apr.99, May.99, Jun.99)

mvad_long<-left_join(mvad_long,select(mvad,id,cluster))
ggplot(data=mvad_long,aes(x=Month,y=id,fill=state))+geom_tile()+facet_wrap(~cluster)

我尝试按簇绘制序列,这给出了以下图:Sequence index plot with ggplot

正如您所看到的,不属于每个方面所代表的集群的 id 之间存在间隙。我想消除这些间隙,以便序列显示堆叠起来,就像 TraMineR 的 seqIplot() 函数一样,如下图所示: SeqIplot

关于如何进行的任何建议?

最佳答案

两个小变化:

mvad_long$id <- as.factor(mvad_long$id)
ggplot(data=mvad_long,aes(x=Month,y=id,fill=state))+
geom_tile()+facet_wrap(~cluster,scales = "free_y")

ggplot 将 id 视为数值变量,而不是因子,然后固定尺度。

关于r - 使用 geom_tile( ) 在 ggplot2 中绘制序列索引图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com