Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: st: Question about scalars

 From Jeph Herrin To statalist@hsphsun2.harvard.edu Subject Re: st: Question about scalars Date Mon, 09 Aug 2010 15:26:44 -0400

```Yes, but look closely at

> . scalar e = d + a
> . scalar dir a d e // "e" is wrong
>           a =         10
>           d =  4.9458042
>           e =        131

You'll see that 4.94+10 = 131. Which is incorrect.

cheers,
Jeph

On 8/9/2010 2:15 PM, Sergiy Radyakin wrote:
```
```Hi, Steve,

there might be something else in your program that prevents it from
running. Both code fragments that you compare work fine in my Stata 9
and Stata 11.

Best, Sergiy

. do "R:\TEMP\STD0h000000.tmp"

. clear

. scalar drop _all

. scalar a = 10

. scalar b = 20

. scalar c = b + a

. scalar dir
c =         30
b =         20
a =         10

.
. sysuse auto, clear
(1978 Automobile Data)

. reg mpg foreign

Source |       SS       df       MS              Number of obs =      74
-------------+------------------------------           F(  1,    72) =   13.18
Model |  378.153515     1  378.153515           Prob>  F      =  0.0005
Residual |  2065.30594    72  28.6848048           R-squared     =  0.1548
Total |  2443.45946    73  33.4720474           Root MSE      =  5.3558

------------------------------------------------------------------------------
mpg |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
foreign |   4.945804   1.362162     3.63   0.001     2.230384    7.661225
_cons |   19.82692   .7427186    26.70   0.000     18.34634    21.30751
------------------------------------------------------------------------------

. scalar d = _b[foreign]

. scalar e = d + a

. scalar dir a d e // "e" is wrong
a =         10
d =  4.9458042
e =        131

.
. tempname dd

. scalar `dd' = _b[foreign]

. scalar e = `dd' +a

. scalar dir a `dd' e // "e" is /okay
a =         10
__000000 =  4.9458042
e =  14.945804

.
end of do-file

On Mon, Aug 9, 2010 at 1:57 PM, Steve Samuels<sjsamuels@gmail.com>  wrote:
```
```In the code below, I generate a scalar "d" from a regression result;
it looks okay, but trying to add it to another scalar doesn't work.
If, however I use a -tempname- , I get the right answer.  Could
someone explain to me why the first approach doesn't work and if
there's another approach that doesn't involve a -tempname-?

Thanks,

Steve

******************************
clear
scalar drop _all
scalar a = 10
scalar b = 20
scalar c = b + a
scalar dir

sysuse auto, clear
reg mpg foreign
scalar d = _b[foreign]
scalar e = d + a
scalar dir a d e // "e" is wrong

tempname dd
scalar `dd' = _b[foreign]
scalar e = `dd' +a
scalar dir a `dd' e // "e" is /okay
****************************

--
Steven Samuels
sjsamuels@gmail.com
18 Cantine's Island
Saugerties NY 12477
USA
Voice: 845-246-0774
Fax:    206-202-4783

*
*   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/
```