Is there a way to simply the code?

For questions regarding programming in the EViews programming language.

Moderators: EViews Gareth, EViews Moderator, EViews Jason, EViews Matt

SandyH
Posts: 1
Joined: Mon Apr 08, 2013 6:40 pm

Is there a way to simply the code?

Postby SandyH » Mon Apr 08, 2013 6:49 pm

For !i=0 to 32
If w{%Y}(!i+1) <> na then

smpl 1960+!i 1965+!i
%myeq_name="w{%Y}eqb{!i}"
if @isobject(%myeq_name) then
delete %myeq_name
endif
equation w{%Y}eqb{!i}.ls log(w{%Y}) C YEAR
smpl 1965+!i 1970+!i
%myeq_name="w{%Y}eqa{!i}"
if @isobject(%myeq_name) then
delete %myeq_name
endif
equation w{%Y}eqa{!i}.ls log(w{%Y}) C YEAR
!diff=w{%Y}eqa{!i}.c(2)-w{%Y}eqb{!i}.c(2)
!dt=1970+!i
if w{%Y}eqa{!i}.c(2)>=.035 and !diff>=.02 then
if @elem (w{%Y}, @str(!dt)) >= @max(w{%Y})then
!flag=1
%mysmpl_name="w{%Y}sample{!i}"
if @isobject(%mysmpl_name) then
delete %mysmpl_name
endif
sample w{%Y}sample{!i} 1965+!i 1970+!i
%mytable_name="temp_table{%Y}"
if @isobject(%mytable_name) then
delete %mytable_name
endif
freeze(temp_table{%Y}) w{%Y}eqa{!i}.results
%mytable_name="temp_table2{%Y}"
if @isobject(%mytable_name) then
delete %mytable_name
endif
freeze(temp_table2{%Y}) w{%Y}eqb{!i}.results
setcell(globaltab,!lineg,1,%Y,"l")
setcell(globaltab,!lineg,2,temp_table{%Y}(4,1),"l")
setcell(globaltab,!lineg,3,temp_table2{%Y}(10,2),"l")
setcell(globaltab,!lineg,4,temp_table{%Y}(10,2),"l")
setcell(globaltab,!lineg,5,temp_table{%Y}(10,4),"l")

!line=!line+1
!lineg=!lineg+1
delete temp_table{%y} temp_table2{%y}

endif
else
!flag=0
delete w{%Y}eqb{!i} w{%Y}eqa{!i}

EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
Posts: 13604
Joined: Tue Sep 16, 2008 5:38 pm

Re: Is there a way to simply the code?

Postby EViews Gareth » Mon Apr 08, 2013 7:22 pm

Not sure what you're asking here.


Return to “Programming”

Who is online

Users browsing this forum: No registered users and 2 guests