Bookmark and Share

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: RE: -nlsur- AIDS


From   Nick Cox <[email protected]>
To   "'[email protected]'" <[email protected]>
Subject   RE: st: RE: RE: -nlsur- AIDS
Date   Fri, 11 Nov 2011 09:32:53 +0000

Depends on what "doesn't work" mean. If the problem is in your data, the program will run but there will be some other problem. If the problem is that your program is not valid, the result will be different. You really should be telling us exactly what "doesn't work" mean. 

On a different note, please trim your postings of stuff no longer pertinent. A long posting is not a big deal to those who start reading at the top but it bulks out the daily digest for those who receive Statalist in that form. 

Nick 
[email protected] 


-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Ivica Rubil
Sent: 11 November 2011 09:20
To: [email protected]
Subject: RE: st: RE: RE: -nlsur- AIDS

Brian and Nick,

I'm totally embarassed now, but guess what happened: doesn't work even
with matched names (this time "xxx", see below). Brian tried, with fake
data, and it worked. Could the problem be in my data? I have created w1
w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp and the variables do not
look problematic in any way.

The code with matched names:

		  
program nlsurxxx
		version 12
		
		syntax varlist(min=12 max=12) if, at(name)
		tokenize `varlist'
		args w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp
		
		tempname a1 a2 a3 a4 a5 a6
		scalar `a1' = `at'[1,1]
		scalar `a2' = `at'[1,2]
		scalar `a3' = `at'[1,3]
		scalar `a4' = `at'[1,4]
		scalar `a5' = `at'[1,5]
		scalar `a6' = 1-`a1'-`a2'-`a3'-`a4'-`a5'
		
		tempname b1 b2 b3 b4 b5 b6
		scalar `b1' = `at'[1,6]
		scalar `b2' = `at'[1,7]
		scalar `b3' = `at'[1,8]
		scalar `b4' = `at'[1,9]
		scalar `b5' = `at'[1,10]
		scalar `b6' = -`b1'-`b2'-`b3'-`b4'-`b5'
				
		tempname g11 g12 g13 g14 g15 g16
		scalar `g11' = `at'[1,11]
		scalar `g12' = `at'[1,12]
		scalar `g13' = `at'[1,13]
		scalar `g14' = `at'[1,14]
		scalar `g15' = `at'[1,15]
		scalar `g16' = -`g11'-`g12'-`g13'-`g14'-`g15'
		
		tempname g21 g22 g23 g24 g25 g26
		scalar `g21' = `g12'
		scalar `g22' = `at'[1,16]
		scalar `g23' = `at'[1,17]
		scalar `g24' = `at'[1,18]
		scalar `g25' = `at'[1,19]
		scalar `g26' = -`g21'-`g22'-`g23'-`g24'-`g25'
		
		tempname g31 g32 g33 g34 g35 g36
		scalar `g31' = `g13'
		scalar `g32' = `g23'
		scalar `g33' = `at'[1,20]
		scalar `g34' = `at'[1,21]
		scalar `g35' = `at'[1,22]
		scalar `g36' = -`g31'-`g32'-`g33'-`g34'-`g35'
		
		tempname g41 g42 g43 g44 g45 g46
		scalar `g41' = `g14'
		scalar `g42' = `g24'
		scalar `g43' = `g34'
		scalar `g44' = `at'[1,23]
		scalar `g45' = `at'[1,24]
		scalar `g46' = -`g41'-`g42'-`g43'-`g44'-`g45'
		
		tempname g51 g52 g53 g54 g55 g56
		scalar `g51' = `g15'
		scalar `g52' = `g25'
		scalar `g53' = `g35'
		scalar `g54' = `g45'
		scalar `g55' = `at'[1,25]
		scalar `g56' = -`g51'-`g52'-`g53'-`g54'-`g55'
		
		tempname g61 g62 g63 g64 g65 g66
		scalar `g61' = `g16'
		scalar `g62' = `g26'
		scalar `g63' = `g36'
		scalar `g64' = `g46'
		scalar `g65' = `g56'
		scalar `g66' = -`g61'-`g62'-`g63'-`g64'-`g65'
		
		
		
		quietly {
				tempvar lnpindex
				gen double `lnpindex' = 5 + `a1'*`lnp1'
+ `a2'*`lnp2' + ///
				                            `a3'*`lnp3'
+ `a4'*`lnp4' + ///
	
`a5'*`lnp5' + `a6'*`lnp6'
					forvalues i = 1/6 {
						forvalues j = 1/6 {
							replace
`lnpindex' = `lnpindex' + 0.5*`g`i'`j''*`lnp`i''*`lnp`j''
						}
					}
				
				replace `w1' = `a1' + `g11'*`lnp1' +
`g12'*`lnp2' + `g13'*`lnp3' + ///
				                      `g14'*`lnp4' +
`g15'*`lnp5' + `g16'*`lnp6' + ///
	
`b1'*(`lnexp' - `lnpindex')
				
				replace `w2' = `a2' + `g21'*`lnp1' +
`g22'*`lnp2' + `g23'*`lnp3' + ///
				                      `g24'*`lnp4' +
`g25'*`lnp5' + `g26'*`lnp6' + ///
	
`b2'*(`lnexp' - `lnpindex')
				
				replace `w3' = `a3' + `g31'*`lnp1' +
`g32'*`lnp2' + `g33'*`lnp3' + ///
				                      `g34'*`lnp4' +
`g35'*`lnp5' + `g36'*`lnp6' + ///
	
`b3'*(`lnexp' - `lnpindex')
	            
				replace `w4' = `a4' + `g41'*`lnp1' +
`g42'*`lnp2' + `g43'*`lnp3' + ///
				                      `g44'*`lnp4' +
`g45'*`lnp5' + `g46'*`lnp6' + ///
	
`b4'*(`lnexp' - `lnpindex')
				
				replace `w5' = `a5' + `g51'*`lnp1' +
`g52'*`lnp2' + `g53'*`lnp3' + ///
				                      `g54'*`lnp4' +
`g55'*`lnp5' + `g56'*`lnp6' + ///
	
`b5'*(`lnexp' - `lnpindex')
		}
end


* -nlsur-
nlsur xxx @ w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp, ///
      ifgnls nequations(5) parameters(a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 ///
	                                  g11 g12 g13 g14 g15 g22 g23
g24 ///
	
g25 g33 g34 g35 g44 g45 g55)














--
Ivica Rubil
Ekonomski institut / The Institute of Economics, Zagreb
a. Trg J. F. Kennedyja 7, 10 000 Zagreb, Croatia
t. +385-1-2362-269
f. +385-1-2335-165
e. [email protected]
www.eizg.hr

-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Brian P. Poi
Sent: 10. studeni 2011 16:09
To: [email protected]
Subject: Re: st: RE: RE: -nlsur- AIDS

Ivica,

You've renamed your evaluator program nlsuraidsmmmm, but you are telling
-nlsur- to look for an evaluator program called nlsuraidsmesommmm:

> * -nlsur-
> nlsur aidsmesommmm @ w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6
lnexp,
> ///

When I change the -nlsur- call to

    nlsur aidsmmmm ...

it works fine (using fake data).



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


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index