如何防止 TraMineR 状态分布图 (seqdplot) 删除缺失状态
How to prevent TraMineR state distribution plot (seqdplot) from removing missing states
我正在分析一些序列数据,希望能够在我的所有序列图中看到缺失的状态。但是,我注意到 TraMineR 的状态分布图函数 seqdplot
会自动删除缺失的序列状态。我在下面包含了一个可重现的例子。如您所见,缺失数据在序列索引图 seqIplot
的图和图例中可见。但是,它会自动从状态分布图中删除 seqdplot
.
如何阻止 seqdplot
删除这些缺失值?
创建和格式化数据
# Import required libraries
library(TraMineR)
library(tidyverse)
# Set seed for reproducibility
set.seed(123)
# Read in TraMineR sample data
data(mvad)
# For loop which generates missing data within the sequences
for (col in 17:86) {
mvad[sample(1:nrow(mvad),(round(nrow(mvad)*0.1))),col] <- NA
}
# Create sequence object
mvad.seq <- seqdef(mvad[, 17:86])
序列索引图(缺失数据可见)
# Create sequence index plot
seqIplot(mvad.seq, sortv = "from.start", with.legend = "right")
状态分布图(删除缺失数据)
# Create state distribution plot
seqdplot(mvad.seq, sortv = "from.start", with.legend = "right")
要显示缺失值,只需使用参数 with.missing=TRUE
seqdplot(mvad.seq, sortv = "from.start", with.legend = "right",
with.missing=TRUE, border=NA)
默认情况下,seqdef
将右边的缺失设置为空白,即,它假定序列在最后一个有效状态结束。如果您还想将(显示)正确的缺失视为缺失标记,请在 seqdef
命令中设置 right=NA
(默认情况下为 right="DEL"
):
mvad.seq <- seqdef(mvad[, 17:86], right=NA)
我正在分析一些序列数据,希望能够在我的所有序列图中看到缺失的状态。但是,我注意到 TraMineR 的状态分布图函数 seqdplot
会自动删除缺失的序列状态。我在下面包含了一个可重现的例子。如您所见,缺失数据在序列索引图 seqIplot
的图和图例中可见。但是,它会自动从状态分布图中删除 seqdplot
.
如何阻止 seqdplot
删除这些缺失值?
创建和格式化数据
# Import required libraries
library(TraMineR)
library(tidyverse)
# Set seed for reproducibility
set.seed(123)
# Read in TraMineR sample data
data(mvad)
# For loop which generates missing data within the sequences
for (col in 17:86) {
mvad[sample(1:nrow(mvad),(round(nrow(mvad)*0.1))),col] <- NA
}
# Create sequence object
mvad.seq <- seqdef(mvad[, 17:86])
序列索引图(缺失数据可见)
# Create sequence index plot
seqIplot(mvad.seq, sortv = "from.start", with.legend = "right")
状态分布图(删除缺失数据)
# Create state distribution plot
seqdplot(mvad.seq, sortv = "from.start", with.legend = "right")
要显示缺失值,只需使用参数 with.missing=TRUE
seqdplot(mvad.seq, sortv = "from.start", with.legend = "right",
with.missing=TRUE, border=NA)
默认情况下,seqdef
将右边的缺失设置为空白,即,它假定序列在最后一个有效状态结束。如果您还想将(显示)正确的缺失视为缺失标记,请在 seqdef
命令中设置 right=NA
(默认情况下为 right="DEL"
):
mvad.seq <- seqdef(mvad[, 17:86], right=NA)