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: extract part of matrix e(b)
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: extract part of matrix e(b)
Date
Fri, 22 Jul 2011 13:50:16 -0500
To learn how to do this, see
. help matrix extraction
Nick
On Fri, Jul 22, 2011 at 1:42 PM, Mirko <[email protected]> wrote:
> Hi Jorge,
>
> Thanks very much for your answer.
>
> What if I need to save matrices because I need to do other tests and
> calculations?
>
> Please check the example below:
>
> sysuse auto, clear
> set more off
> regress mpg foreign i.rep78##c.weight headroom
> margins, dydx(rep78)
> (output omitted)
> . matrix b_num = r(b)
> . matrix colna b_num = num:
> . matrix J_num = r(Jacobian)
> . matrix rowna J_num = num:
> . margins, dydx(weight) over(rep78)
> (output omitted)
> . matrix b_den = r(b)
> . matrix colna b_den = den:
> . matrix J_den = r(Jacobian)
> . matrix rowna J_den = den:
> . * combine the results
> . matrix b = b_num, b_den
> . matrix J = J_num \ J_den
> . matrix V = J*e(V)*J'
> . ereturn post b V
> . * check that the combined results match those from the original
> . ereturn display
> (output omitted)
>
> . nlcom (R2: [num]_b[2.r]/[den]_b[2.r]) (R3:
> [num]_b[3.r]/[den]_b[3.r]) (R4: [num]_b[4.r]/[den]_b[4.r]) (R5
> [num]_b[5.r]/[den]_b[5.r])
>
>
> However, I don't want to use the entire e(b) matrix but just part of
> it...Does it work if I save the coefficients as scalars, then I create
> a matrix?
>
> Mirko
>
>
> On 22 July 2011 17:32, Joerg Luedicke <[email protected]> wrote:
>> You could grab it from the matrix by addressing row and column
>> numbers, for example:
>>
>> scalar second=b[1,2]
>> scalar third=b[1,3]
>>
>> J.
>>
>>
>> On Fri, Jul 22, 2011 at 12:03 PM, Mirko <[email protected]> wrote:
>>> Dear Statalisters,
>>>
>>> I wish to extract only some coefficients from the matrix e(b) and I
>>> wonder how this can be achieved.
>>>
>>> Here is a simple example.
>>>
>>> . regress mpg foreign i.rep78##c.weight headroom
>>> (output omitted)
>>>
>>> . margins, dydx(rep78)
>>> (output omitted)
>>>
>>> . mat b =e(b)
>>>
>>> This command extracts and saves the entire coefficients matrix e(b) as b.
>>>
>>> If you type:
>>>
>>> . mat li b
>>>
>>> you get:
>>>
>>> b[1,5]
>>> 1b. 2. 3. 4. 5.
>>> rep78 rep78 rep78 rep78 rep78
>>> y1 0 .25956254 -.74363551 -.38630819 -6.5437415
>>>
>>>
>>> What should I do if I wish to grab only the second and third
>>> coefficients: .25956254, -.74363551 instead the all matrix?
>>>
>>> How this can be done?
>>>
>>> Mirko
*
* 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/