Hello everyone,
I have a table sorted by alphabetical order who looks like this :
| felony |
| drugs consumer |
| drugs seller |
| drugs trafficker |
| murder in the first degree |
| murder in the second degree |
| sex offender |
| sex worker |
And what I'd like is to create a variable attributing a rank for each felony starting with the same word. Something like this :
| felony | rank |
| drugs consumer | 1 |
| drugs seller | 2 |
| drugs trafficker | 3 |
| murder in the first degree | 1 |
| murder in the second degree | 2 |
| sex offender | 1 |
| sex worker | 2 |
Any help on this ?
My final goal is to study if people tend to chose the first propositions when they have to pick an answer in a list in case of autocomplete text filled questions.
Please excuse my english.
Try this:
data have;
input felony $50.;
cards;
drugs consumer
drugs seller
drugs trafficker
murder in the first degree
murder in the second degree
sex offender
sex worker
;
run;
data have1;
set have;
first_word = scan(felony,1);
run;
data want;
set have1;
by first_word; /* add nostsorted if necessary */
if first.first_word
then rank = 1;
else rank + 1;
run;
Try this:
data have;
input felony $50.;
cards;
drugs consumer
drugs seller
drugs trafficker
murder in the first degree
murder in the second degree
sex offender
sex worker
;
run;
data have1;
set have;
first_word = scan(felony,1);
run;
data want;
set have1;
by first_word; /* add nostsorted if necessary */
if first.first_word
then rank = 1;
else rank + 1;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.