BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
fengyuwuzu
Pyrite | Level 9

I have ID, amount, date in my data sets, and each ID has a number of amount & date.

Now I want to have a sequence variable, that for each ID, the first date has sequence value 1, the second date has sequence value 2, etc. For those with has only 1 date, delete.

 

can anyone tell me how to do this? I sort by ID and date, and use first.ID and last.ID to loop?

 

another question is, after I have the sequence variable, I want to use regression (DV=amount, IV=sequence) to see the trend of the amount, positive or negative. I want to have a new data set with only ID and Beta (coefficients).

PROC REG DATA=with_sequence;
   BY ID ;
   MODEL amount= sequence ;
   output out=b;
RUN; 

Is this the right way to do  it?

1 ACCEPTED SOLUTION
3 REPLIES 3
fengyuwuzu
Pyrite | Level 9

Thank you! The first problem solved. I can use this example:

data two;
  input class gender score;
  cards;
  1 1 48
  1 1 45
  2 2 50
  1 2 42
  2 1 41
  2 2 51
  2 1 52
  1 1 43
  1 2 52
  ;
run;

proc sort data = two;
  by class gender;
run;

data two1;
  set two;
  count + 1;
  by class gender;
  if first.gender then count = 1;
run;

proc print data = two1;
run;
Reeza
Super User

For your second question look at the output tables, but you may also be interested in teh ODS output tables. I think the one you're after is called ParameterEstimates.

 

ods table parameterEstimates=want;
Proc reg......;
*rest of code;
How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1419 views
  • 0 likes
  • 2 in conversation