Creating indices

For questions and discussion related to reading in and working with data.
terrya
Posts: 41
Joined: Mon Aug 24, 2009 6:05 pm

Creating indices

Unread post by terrya »

How can one create indices of the type Ind = 100*y(t)/y(t=n), where n is the particular observation on which the index is based?
terrya
Posts: 41
Joined: Mon Aug 24, 2009 6:05 pm

Re: Creating indices

Unread post by terrya »

I should have said that I was looking for something cleverer than just using the actual value, something like the @elem instruction in EViews
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Creating indices

Unread post by TomDoan »

set Ind = 100*y(t)/y(n)

or

set IND = 100*y/y(n)

RATS uses series{l} for lags and leads, and series(n) for references to specific entries.
marcushemma
Posts: 5
Joined: Sat Jun 12, 2010 3:12 am

Re: Creating indices

Unread post by marcushemma »

How would that look if you want to create indices, with reference to a specific entry, e.g. 2000:1, for a number of series?
I tried a number of variations based on a do loop with the series as i = 1,n but that didn't work.

Any suggestions?
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Creating indices

Unread post by TomDoan »

marcushemma wrote:How would that look if you want to create indices, with reference to a specific entry, e.g. 2000:1, for a number of series?
I tried a number of variations based on a do loop with the series as i = 1,n but that didn't work.

Any suggestions?
Something like:

Code: Select all

dofor i = dpfood dpvice dpdura
   set(scratch) i = i{0}/([series] i)(1950:1)
end do i
You need to "cast" the index to a series in order to do the reference to a specific entry.
marcushemma
Posts: 5
Joined: Sat Jun 12, 2010 3:12 am

Re: Creating indices

Unread post by marcushemma »

It works fine until the date for the base of the index but not afterwards. Here's an example that uses some data from the Enders' files.

Code: Select all

cal 1959 1 4
all 2001:1
OPEN DATA "\Enders\Money_dem.xls"
DATA(FORMAT=XLS,ORG=COLUMNS) 1959:01 2001:01 DATE GDP RGDP M2 M3 TB3mo TB1yr
open data a:\money_dem.xls
data(org=obs,format=xls)

dofor i = gdp rgdp m2 m3
    set i =  i{0}/([series] i)(1960:1)
end do i
GRAPH(STYLE=LINE,KEY=BELOW) 4
# GDP
# RGDP
# M2
# m3

pri / gdp rgdp m2 m3
TomDoan
Posts: 7814
Joined: Wed Nov 01, 2006 4:36 pm

Re: Creating indices

Unread post by TomDoan »

Sorry about that. If you overwrite the series, you need a SCRATCH option on the SET instruction. I've corrected the code in the previous post.
Post Reply