Taking First Differences

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 122
Accepted Solution

Taking First Differences

To whom it may concern,

I have a column of data that looks like column 1 below. What kind of code do I need to run to get column 2; column 2 is column 1 staggered, so that I can eventually take the first difference between columns 1 and 2.

Any help would be appreciated.

Christos

Column 1      Column 2        First Difference

1                      [Blank]            1-[Blank]

2                         1                   2-1=1

3                         2                   3-2=1

4                         3                   4-3=1

5                         4                   5-4=1

6                         5                   6-5=1


Accepted Solutions
Solution
‎11-11-2012 04:33 PM
Super Contributor
Posts: 644

Re: Taking First Differences

Posted in reply to maroulator

You need the LAG() function, or better still the DIF() function which will directly calculate the difference between successive observations.

    diff1 = dif(x) ;

The first row will return a null value.

Richard in Oz

View solution in original post


All Replies
Solution
‎11-11-2012 04:33 PM
Super Contributor
Posts: 644

Re: Taking First Differences

Posted in reply to maroulator

You need the LAG() function, or better still the DIF() function which will directly calculate the difference between successive observations.

    diff1 = dif(x) ;

The first row will return a null value.

Richard in Oz

PROC Star
Posts: 7,492

Re: Taking First Differences

Posted in reply to maroulator

Richard should get the credit for the correct answer but, in case Richard was sufficiently clear:

data want;

  input column1;

  column2=lag(column1);

  first_difference=dif(column1);

  cards;

1

2

3

4

5

6

;

Frequent Contributor
Posts: 122

Re: Taking First Differences

Posted in reply to maroulator

Thaks to both! Very helpful.

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 2352 views
  • 5 likes
  • 3 in conversation