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]
Re: st: Replace with returned results in svy loop
From
Kate Schneider <[email protected]>
To
[email protected]
Subject
Re: st: Replace with returned results in svy loop
Date
Sun, 29 May 2011 16:53:59 -0700
Thank you so much Richard! It totally works! We can't get it to only
replace the missing values, but I think it is more valid to create a
new variable with the estimated value anyways. Thanks so much!
Kate
On Sun, May 29, 2011 at 5:42 PM, Richard Williams
<[email protected]> wrote:
> First off, you may not have e(mean), but you do have the matrix e(b), which
> contains the mean of your variable. Sometimes you have to do something like
>
> mat list e(b)
>
> to see where values are stored. ereturn list doesn't show you what values
> are stored in the matrices.
>
> As for how to handle missing data, I suggest taking a look at Paul Allison's
> small book, "Missing Data," and reading through the Stata 11 documentation
> on multiple imputation. Others who are more familiar with these methods can
> perhaps advise you further.
>
>
> At 06:27 PM 5/29/2011, Kate Schneider wrote:
>>
>> Thanks so much Richard,
>>
>> We are trying to monetize own consumption of food items, so the mean
>> we are calculating is the average price reported by households who
>> bought the food and we want to apply this to the missing data.
>> Observations are missing where households ate food they produced
>> themselves or did not report the price they paid for the item if they
>> bought it.
>>
>> Is there a better way you recommend attributing these prices to the
>> cases where we don't have a value? We were previously manually keeping
>> track of the mean prices and then manually telling stata to replace
>> (for example) price_eggs == $1 if price_eggs==. We are trying to avoid
>> manually going between excel and stata, thinking that it would be more
>> valid to have stata do all of this for us.
>>
>> The other approach we were considering would be to create a new
>> variable where every observation of eggs get the mean egg price value,
>> and then when we calculate the total value of egg consumption to
>> specify drawing from the reported price if not missing, and if missing
>> use the new value. Does that sound like a more valid approach?
>> Regardless when we use ereturn list, there isn't a scalar listed for
>> our mean. We tried e(mean), but it returned an error. Do we have to
>> tell stata to store e(mean) before our svy: mean calculation?
>>
>> The other thing we should specify is that our data is hierarchical
>> with 2 unique identifiers, a household ID and an id for each of the 65
>> different food items. We are trying to value total consumption per
>> food item and also per household. We thought about collapsing food
>> items to their mean price, but thought that probably wouldn't apply
>> our survey weights (though perhaps stata is smarter than we are?).
>>
>> Thanks so much for your assistance, we are really grateful!
>>
>> Kate
>>
>> On Sun, May 29, 2011 at 5:11 PM, Richard Williams
>> <[email protected]> wrote:
>> > If in doubt where a value is stored, type -ereturn list- after the
>> > estimation command. After -mean-, e(b) has the mean of the variable. So,
>> > to
>> > get the mean stored in a scalar, do something like
>> >
>> > webuse nhanes2f, clear
>> > svy: mean houssiz
>> > mat varmean = e(b)
>> > scalar vmean = varmean[1,1]
>> >
>> > Having said that, substituting the mean for missing data is generally
>> > not
>> > considered the best practice in the world. And, there may be other
>> > errors in
>> > your code (e.g. the == in the replace command looks wrong) but I imagine
>> > those will become obvious once you tidy other things up.
>> >
>> > At 03:11 PM 5/29/2011, Kate Schneider wrote:
>> >>
>> >> Hello,
>> >> Sorr to bug everyone on a holiday weekend, but we're a graduate
>> >> student research group at the University of Washington working with a
>> >> large household survey dataset and have come up against some trouble.
>> >>
>> >> We're trying to replace missing values of a variable with the results
>> >> of some other operation we've just performed (basically, a mean).
>> >> Right now, we're having trouble with the replace component of the
>> >> below operation. Does anyone know how torecall the previous command's
>> >> results from the svy calculation and use that data to replace missing
>> >> in a loop? Is this possible with survey data?
>> >>
>> >> foreach X of varlist $fooditemall {
>> >> quietly count if `X'==1 & priceperkilo !=.
>> >> if `r(N)'>0 {
>> >> display "Variable is: " "`X'"
>> >> svy, subpop(`X'): mean priceperkilo
>> >> }
>> >> quietly count if `X'==1 & priceperkilo ==.
>> >> if `r(N)'>0 {
>> >> replace priceperkilo == e(????) if `X'==1 & priceperkilo ==.
>> >> }
>> >> }
>> >>
>> >> Thanks for your insight! If you need more information please let me
>> >> know.
>> >> Kate
>> >>
>> >> *
>> >> * 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/
>> >
>> > -------------------------------------------
>> > Richard Williams, Notre Dame Dept of Sociology
>> > OFFICE: (574)631-6668, (574)631-6463
>> > HOME: (574)289-5227
>> > EMAIL: [email protected]
>> > WWW: http://www.nd.edu/~rwilliam
>> >
>> > *
>> > * 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/
>> >
>>
>> *
>> * 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/
>
> -------------------------------------------
> Richard Williams, Notre Dame Dept of Sociology
> OFFICE: (574)631-6668, (574)631-6463
> HOME: (574)289-5227
> EMAIL: [email protected]
> WWW: http://www.nd.edu/~rwilliam
>
> *
> * 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/
>
*
* 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/