总结Stata中每个观察的一千个变量

时间:2014-03-25 05:08:44

标签: loops stata

我创建了一个创建变量expectedgpa的循环。

所以现在每个观察点都有1,000个变量,标记为expectedgpa1expectedgpa2 ... expectedgpa1000

我希望得到每次观察的所有expectedgpa s的平均值和标准偏差。

所以,如果我有这个

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

我想要一个返回的变量

Joe 2
Sally 3 
Larry 3

任何帮助?

2 个答案:

答案 0 :(得分:3)

首先,对于未来的问题:

请发布显示您尝试过的代码。您的问题显示没有研究工作。

其次,澄清术语:

您创建了1000个变量 一个对应于一些预期的gpa 。每个观察对应 对不同的人。因此,您希望三个变量。一个人的身份 另外两个与gpa的平均值和sd(按人)。 这是我的解释,至少。

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

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,而不是reshape,但这不会创建新变量。

有关详细信息,请参阅help reshapehelp collapsehelp summarize

答案 1 :(得分:1)

如果没有关于如何分析它们的策略,您不应该创建1000个新变量!

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

可以在http://www.stata-journal.com/sjpdf.html?articlenum=pr0046

查看Stata中“rowwise”的工作情况