IF command
Moderators: EViews Gareth, EViews Jason, EViews Moderator, EViews Matt
IF command
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.
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.
-
- Non-normality and collinearity are NOT problems!
- Posts: 3775
- Joined: Wed Sep 17, 2008 2:25 pm
Re: IF command
You want to use smpl if
smpl if x>0
series a=1
smpl @all
smpl if x>0
series a=1
smpl @all
-
- EViews Developer
- Posts: 2671
- Joined: Wed Oct 15, 2008 9:17 am
Re: IF command
Or even easier...
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.
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.
Re: IF command
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
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
-
- Fe ddaethom, fe welon, fe amcangyfrifon
- Posts: 13305
- Joined: Tue Sep 16, 2008 5:38 pm
Re: IF command
Well I am trying to count the number of times elements of x is greater than that of y.
-
- Non-normality and collinearity are NOT problems!
- Posts: 3775
- Joined: Wed Sep 17, 2008 2:25 pm
Re: IF command
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)
-
- EViews Developer
- Posts: 2671
- Joined: Wed Oct 15, 2008 9:17 am
Re: IF command
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.
-
- Posts: 22
- Joined: Thu Sep 29, 2011 8:28 pm
- Location: Vietnam
Re: IF command
I don't know how to fix it. Anyone help me, thanks !
Code: Select all
'create a workfile
wfcreate q 1990 2010
'create a y series
series y=nrnd
'create 15 X series
for !i=1 to 15
series x{!i}=nrnd
next
genr t=@trend()
smpl if t<40
'if xi (-2) < xi (-4) then creating a series named a1=1 (2 and 4 are the lags of xi.)
for !i=1 to 15
if x{!i}(-2) < x{!i}(-4) then series a{!i}=1
endif
next
-
- Fe ddaethom, fe welon, fe amcangyfrifon
- Posts: 13305
- Joined: Tue Sep 16, 2008 5:38 pm
Re: IF command
Code: Select all
if x{!i}(-2) < x{!i}(-4) then series a{!i}=1
This line doesn't make sense. Not sure what you're trying to do
Follow us on Twitter @IHSEViews
-
- Posts: 22
- Joined: Thu Sep 29, 2011 8:28 pm
- Location: Vietnam
Re: IF command
EViews Gareth wrote:Code: Select all
if x{!i}(-2) < x{!i}(-4) then series a{!i}=1
This line doesn't make sense. Not sure what you're trying to do
I want to filter series which have value at lag 2 < value at lag 4. If a series 's suitable with this rule, creating a new series (name a) and set the value = 1.
-
- Fe ddaethom, fe welon, fe amcangyfrifon
- Posts: 13305
- Joined: Tue Sep 16, 2008 5:38 pm
Re: IF command
See the rest of the comments in this thread. You can't use an of statement to do that, you need to use a smpl
Follow us on Twitter @IHSEViews
-
- Posts: 22
- Joined: Thu Sep 29, 2011 8:28 pm
- Location: Vietnam
Re: IF command
Okay, thank Mr. Gareth
Who is online
Users browsing this forum: No registered users and 22 guests