【发布时间】:2013-06-19 15:23:35
【问题描述】:
我正在使用 R 包 TraMineR 来计算和分析事件状态序列。我的字母表由 7 个状态组成。
我使用seqistatd 命令计算了我感兴趣的一些亚群(例如具有不同教育水平的女性)在每个州花费的平均时间。
但是,我想添加有关标准误差或在每个状态中花费的平均时间的标准偏差的信息。是否可以在seqistatd 行命令中执行此操作,还是我必须以某种方式自行计算估计?
谢谢。
【问题讨论】:
我正在使用 R 包 TraMineR 来计算和分析事件状态序列。我的字母表由 7 个状态组成。
我使用seqistatd 命令计算了我感兴趣的一些亚群(例如具有不同教育水平的女性)在每个州花费的平均时间。
但是,我想添加有关标准误差或在每个状态中花费的平均时间的标准偏差的信息。是否可以在seqistatd 行命令中执行此操作,还是我必须以某种方式自行计算估计?
谢谢。
【问题讨论】:
不,函数seqistatd 确实为每个单独的序列返回每个状态的时间。然而,使用apply 函数很容易按组计算平均时间和方差。下面我用TraMineR提供的biofamdata举例说明。
library(TraMineR)
data(biofam)
bf.seq <- seqdef(biofam[,10:25])
bf.ldist <- seqistatd(bf.seq)
sel <- (biofam$sex == "man")
## Mean and variance of time in each state for men
(meant <- apply(bf.ldist[sel,], 2, mean, na.rm=TRUE))
(vart <- apply(bf.ldist[sel,], 2, var, na.rm=TRUE))
## and for women
(meant <- apply(bf.ldist[!sel,], 2, mean, na.rm=TRUE))
(vart <- apply(bf.ldist[!sel,], 2, var, na.rm=TRUE))
【讨论】: