【发布时间】:2013-01-04 22:05:53
【问题描述】:
在处理分层/多级/面板数据集时,采用返回可用变量的组内和组间标准差的包可能非常有用。
这是Stata中的以下数据可以通过命令轻松完成的事情
xtsum, i(momid)
我做了一个研究,但我找不到任何可以做到这一点的R 包..
编辑:
只是为了修正想法,分层数据集的示例可能是这样的:
son_id mom_id hispanic mom_smoke son_birthweigth
1 1 1 1 3950
2 1 1 0 3890
3 1 1 0 3990
1 2 0 1 4200
2 2 0 1 4120
1 3 0 0 2975
2 3 0 1 2980
“多级”结构是由每个母亲(较高级别)有两个或多个儿子(较低级别)这一事实给出的。因此,每个母亲都定义了一组观察结果。
因此,每个数据集变量可以在母亲之间和母亲之间变化,或者仅在母亲之间变化。 birtweigth 因母亲而异,但在同一个母亲中也是如此。相反,hispanic 是为同一个母亲固定的。
例如,son_birthweigth 的母内方差为:
# mom1 means
bwt_mean1 <- (3950+3890+3990)/3
bwt_mean2 <- (4200+4120)/2
bwt_mean3 <- (2975+2980)/2
# Within-mother variance for birthweigth
((3950-bwt_mean1)^2 + (3890-bwt_mean1)^2 + (3990-bwt_mean1)^2 +
(4200-bwt_mean2)^2 + (4120-bwt_mean2)^2 +
(2975-bwt_mean3)^2 + (2980-bwt_mean3)^2)/(7-1)
而母亲之间的差异是:
# overall mean of birthweigth:
# mean <- sum(data$son_birthweigth)/length(data$son_birthweigth)
mean <- (3950+3890+3990+4200+4120+2975+2980)/7
# within variance:
((bwt_mean1-mean)^2 + (bwt_mean2-mean)^2 + (bwt_mean3-mean)^2)/(3-1)
【问题讨论】:
-
您是指原始时刻还是来自分层模型的估计?如果是后者,
VarCorr会做你想做的事吗(来自nlme::lme或lme4::lmer)? -
我的意思是变量的经验分布的样本矩,其中每个变量的整体标准差可以分为簇内和簇间分量。
-
@Stezzo 是的,您提供数据。最好也给出预期的结果。不清楚,要不要计算
son_birthweigth相对于其他分类变量的矩? -
@agstudy 我举了一个数字例子来让事情更清楚。感谢您提供任何其他帮助
标签: r hierarchical-data stata multi-level