Help using Base SAS procedures

Identifying outcome status with identification numbers

Reply
Contributor
Posts: 25

Identifying outcome status with identification numbers

I'm working on a case control study and the cases and controls are identified using a letter at the end of the identification number. Some cases are matched 1:1 with controls and some are matched 1:2, or 1:3. A case/control pair may be identified as follows: GI111A, GI111B, GI111X with A and B denoting control status and X denoting case status. I want to perform analyses comparing cases and controls and therefore want to make a new variable "case status" defined by the ending letter. Is there a procedure I can use to scan the identification numbers and then identify cases and control, respectively? I haven't tried any code yet, I was just wondering if there was a quick and easy way to do this?

Respected Advisor
Posts: 4,649

Re: Identifying outcome status with identification numbers

You could use:

case = char(id,length(id)) = "X";

in a datastep, where id is your identifier. The value of case will be 1 for cases and 0 for controls.

PG

PG
Contributor
Posts: 25

Re: Identifying outcome status with identification numbers

Would this create a new variable? Would I code it like creating a new variable?

Respected Advisor
Posts: 4,649

Re: Identifying outcome status with identification numbers

Yes, the variable case would be created by the statement.You would use that variable in your analysis/models.

PG
Contributor
Posts: 25

Re: Identifying outcome status with identification numbers

What if all my preceding numbers are not the same length? I'm still confused on exactly how to code this?

Respected Advisor
Posts: 4,649

Re: Identifying outcome status with identification numbers

Please post the SAS code you are using now to prepare your data for analysis and we'll take it from there.

PG
Ask a Question
Discussion stats
  • 5 replies
  • 184 views
  • 0 likes
  • 2 in conversation