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: Re: [question on -gammafit- and -pgamma-]
From
"Kieran McCaul" <[email protected]>
To
<[email protected]>
Subject
RE: st: Re: [question on -gammafit- and -pgamma-]
Date
Sun, 6 Mar 2011 09:54:42 +0800
(1) get rid of the comma after the gammafit and put the -if- on the same line.
gammafit y if group == `i'
(2) the matrix "results" is not the same as the matrix "Results". Pick one name or the other.
(3) You need to preface the matrix assignments with the command -matrix-.
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Peter Maclean
Sent: Sunday, 6 March 2011 9:27 AM
To: [email protected]
Subject: Re: st: Re: [question on -gammafit- and -pgamma-]
I tried use the following commnds:
matrix results=J(10,3,.)
egen group = group(n)
su group, meanonly
forval i = 1/`r(max)' {
gammafit y,
if group == `i'
Results(`i',1)=e(alpha)
Results(`i',2)=e(beta)
results(`i',3)=e(alpha)*e(beta)
}
I am still getting the following error
{ required
r(100); and it the results is for all observations.
Peter Maclean
Department of Economics
UDSM
----- Original Message ----
From: Nick Cox <[email protected]>
To: [email protected]
Sent: Sat, March 5, 2011 5:14:01 PM
Subject: Re: st: Re: [question on -gammafit- and -pgamma-]
Start with
-help foreach-
-help forval-
If necessary, continue with
SJ-2-2 pr0005 . . . . . . Speaking Stata: How to face lists with fortitude
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
Q2/02 SJ 2(2):202--222 (no commands)
demonstrates the usefulness of for, foreach, forvalues, and
local macros for interactive (non programming) tasks
FAQ . . . . . . . . . . Making foreach go through all values of a variable
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N. J. Cox
8/05 Is there a way to tell Stata to try all values of a
particular variable in a foreach statement without
specifying them?
http://www.stata.com/support/faqs/data/foreach.html
On Sat, Mar 5, 2011 at 10:25 PM, Peter Maclean <[email protected]> wrote:
> Thanks Nick.
> My question was actually setting up a loop over a group and save the results.
> The number of group (n) is 600.
> Hope you can help on that.
> Peter Maclean
> Department of Economics
> UDSM
>
>
>
> ----- Original Message ----
> From: Nick Cox <[email protected]>
> To: [email protected]
> Sent: Sat, March 5, 2011 1:16:33 PM
> Subject: st: Re: [question on -gammafit- and -pgamma-]
>
> It is always helpful to specify a subject for your email.
>
> This question refers to -gammafit- and -pgamma- from SSC, which are
> user-written programs.
> Statalist etiquette is to explain where user-written programs referred
> to come from.
>
> Peter quotes the syntax
>
> by n:gammafit y, level(95)
>
> which -gammafit- supports. However, as is standard with -by:- support,
> this syntax is of limited use for _saving_ results, as after the
> first, each invocation of -gammafit- stomps over the previous set of
> saved results, so although parameter estimates are displayed in turn,
> only the last such set is present in memory once all are done.
>
> Peter correctly reports that -pgamma- does not support the -by()-
> option (nor does it support the -by:- prefix).
>
> I am not aware that Stata supports doubly subscripted variables.
> Perhaps Peter means a Stata or Mata matrix.
>
> To get results for different groups and put them together, Peter has
> to arrange that himself. But this code shows that the steps are
> simple.
>
> sysuse auto, clear
> matrix results = J(2,2,.)
> gammafit mpg if foreign
> matrix results[1,1] = e(alpha)
> matrix results[1,2] = e(beta)
> pgamma mpg if foreign, gen(tp1 ep1)
> gammafit mpg if !foreign
> matrix results[2,1] = e(alpha)
> matrix results[2,2] = e(beta)
> pgamma mpg if !foreign, gen(tp2 ep2)
> matrix rownames results = Foreign Domestic
> matrix colnames results = alpha beta
> matrix li results
> scatter tp1 ep1 || scatter tp2 ep2 , legend(order(1 "Foreign" 2 "Domestic"))
>
> For a group variable with many more than 2 classes, it would be better
> to set up a loop over the groups.
>
> The help for -gammafit- includes a link to the help for -maximize-,
> which explains how to set initial values.
>
> Nick
>
> On Sat, Mar 5, 2011 at 4:47 PM, Peter Maclean <[email protected]> wrote:
>
>> I am new is Stata modelling.
>> I am running the following model:
>>
>> by n:gammafit y, level(95)
>> pgamma y, gen(g_p e_p)
>>
>> where n is a group variable.
>> I would like to save the estimated parameters by gammafit
>>(alpha,beta,alpha+beta
>> and lower and upper limit of both alpha and beta) in a variable
'result(n,j).'
>>
>>
>> Also, I would like pgamma to estimate the probabilities (g_p and e_p) by
>> variable n.
>> The pgamma module does not accept the 'by' option. In addition, is there a
way
>> to give starting values for the gammafit module?
>
*
* 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/
*
* 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/