IF command

For questions regarding programming in the EViews programming language.

Moderators: EViews Jason, EViews Moderator, EViews Gareth

IF command

Postby soungl on Wed Feb 23, 2011 7:39 am

Hi, I have a question about IF command. I’m using EViews 6. I tried the following program with no success.

series a

if x>0 then
series a=1
endif

x is a numerical series as follows:
3
4
-3
10

The program keeps producing a with
NA
NA
NA
NA

when it should produce
1
1
NA
1

What am I doing wrong?

Thank you so much for your advice.
soungl
 
Posts: 7
Joined: Fri Oct 23, 2009 3:13 am

Re: IF command

Postby startz on Wed Feb 23, 2011 7:44 am

You want to use smpl if
smpl if x>0
series a=1
smpl @all
startz
Non-normality and collinearity are NOT problems!
 
Posts: 1705
Joined: Wed Sep 17, 2008 2:25 pm

Re: IF command

Postby EViews Glenn on Wed Feb 23, 2011 10:13 am

Or even easier...
Code: Select all
series a = @recode(x>0, 1, na)

Note that the IF test in the original post was testing whether all of the elements of the series were >0, hence the observed result.
EViews Glenn
EViews Developer
 
Posts: 1394
Joined: Wed Oct 15, 2008 9:17 am

Re: IF command

Postby Nau2306 on Wed Jul 11, 2012 1:55 am

hi

I am using eviews 6 and I am trying a similar thing as described above but in my case, I have two series namely x and y and the condition is that x > y. how can I access each element of x and y? for example if x is a series as follows:
4
6
-1
7

and y is
2
0
6
3

then the condition should be 4>2, 6>0, -1>6 and so on?

this is what I have tried but it says syntax error:

scalar a = 0

for !j=1 to !length-!ssize

a = @recode((x(!j) < y(!j)), a+1, a)

next

a


Please help...

Thanks
Nau2306
 
Posts: 74
Joined: Thu Nov 17, 2011 11:51 am

Re: IF command

Postby EViews Gareth on Wed Jul 11, 2012 7:44 am

What are you trying to do?
Follow us on Twitter @IHSEViews
EViews Gareth
Fe ddaethom, fe welon, fe amcangyfrifon
 
Posts: 5785
Joined: Tue Sep 16, 2008 5:38 pm

Re: IF command

Postby Nau2306 on Wed Jul 11, 2012 10:39 am

Well I am trying to count the number of times elements of x is greater than that of y.
Nau2306
 
Posts: 74
Joined: Thu Nov 17, 2011 11:51 am

Re: IF command

Postby startz on Wed Jul 11, 2012 10:45 am

Nau2306 wrote:Well I am trying to count the number of times elements of x is greater than that of y.

Something like
Code: Select all
series s = @sum(x>y)
startz
Non-normality and collinearity are NOT problems!
 
Posts: 1705
Joined: Wed Sep 17, 2008 2:25 pm

Re: IF command

Postby EViews Glenn on Wed Jul 11, 2012 1:37 pm

To provide some context. The expression "x>y" evaluates to the series of 0, 1 values for whether X is indeed greater than Y. The @sum simply sums over the values of this auto-series. Note that the result needn't be put into a new series; it can go into a scalar if desired.
EViews Glenn
EViews Developer
 
Posts: 1394
Joined: Wed Oct 15, 2008 9:17 am


Return to Programming

Who is online

Users browsing this forum: No registered users and 3 guests