繁体   English   中英

汇总Stata中每个观测值的一千个变量

[英]Summarize across a thousand variables for each observation in Stata

我制作了一个循环,创建了一个变量expectedgpa

因此,现在每个观察值都有1,000个变量,分别标记为expectedgpa1expectedgpa2 ... expectedgpa1000

我想获得每个观察值的所有expectedgpa的平均值和标准差。

所以如果我有这个

Joe       1     2    1    2   4
Sally     2     4    2    4   3
Larry     3     3    3    3   3

我想要一个返回的变量

Joe 2
Sally 3 
Larry 3

有什么帮助吗?

首先,对于未来的问题:

请发布代码以显示您的尝试。 您的问题表明没有进行任何研究。

其次,要澄清术语:

您创建了1000个变量,每个变量对应于一些预期的gpa 每个观察对应一个不同的人。 结果,您需要三个变量 一个带有该人的ID,另一个两个带有gpa的平均值和标准差(按人)。 至少这是我的解释。

一种解决方案涉及重塑数据:

clear all
set more off

input ///
str5 id exgpa1 exgpa2 exgpa3 exgpa4 exgpa5
Joe       1     2    1    2   4
Sally     2     4    2    4   3
Larry     3     3    3    3   3
end

list

reshape long exgpa, i(id) j(exgpaid)

collapse (mean) mexgpa=exgpa (sd) sdexgpa=exgpa, by(id)

list

除了collapse ,还可以by id: summarize exgpa运行by id: summarize exgpareshapeby id: summarize exgpa ,但这不会创建新变量。

请参阅help reshapehelp collapsehelp summarize以获取详细信息。

如果没有用于分析它们的策略,就不应创建1000个新变量!

您还可以使用egen函数rowmean()rowsd()并保持相同的数据结构。

可以在http://www.stata-journal.com/sjpdf.html?articlenum=pr0046上查看 Stata中“行进”工作的评论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM