Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
st: RE: calculating mean without own observation
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
st: RE: calculating mean without own observation
Date
Mon, 23 May 2011 16:02:35 +0100
This is an FAQ.
FAQ . . Creating variables recording prop. of the other members of a group
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
4/05 How do I create variables summarizing for each
individual properties of the other members of a
group?
http://www.stata.com/support/faqs/data/members.html
Once you know to look for references to (e.g.) "members.html" in the Statalist archive, you can find several related discussions.
In this case, something like
egen total = total(value), by(category)
egen n = count(value), by(category)
gen totalMINUSi = total - cond(missing(value), 0, value)
gen meanMINUSi = totalMINUSi / (n - !missing(value))
Incidentally, this cannot be done with a simple -if- precisely because values for other observations are involved in the calculation. But it can be approached directly.
Nick
[email protected]
Guo Xu
How do I calculate a mean (or any other summary statistic) excluding
the *current* observation?
For example, I have following data:
i value category
1 5 1
2 5 1
3 10 1
4 2 2
5 2 2
I would like to calculate the mean for each category (egen value_mean
= mean(value), by(category)), but exclude the i-th observation:
For i=1, for example, the mean value by category 1 would be (5+10)/2.
For i=3, it would be (5+5)/2. For i=4, it would be 2/1.
I guess there must be some simple *if* condition for this
manipulation, but I failed to find it - would be most grateful for
help.
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/