Hi all,
I need help with the following:
I have a 2 variables in a dataset
n= number
label = string e.g. X!3.479!3.49902!3.43968!3.49919!3.5432!3.69513!3.52109!3.53714!
What I need to do is - retrieve the 'n' th value (seperated by "!").
For example:
n= 2
value= 3.49902
Im guessing I need to use a scan?
Many thanks
jammy,
Yes, you'll need SCAN. However, SCAN alone will create VALUE as a character variable:
value = scan(string, n, '!');
If you want VALUE as a numeric variable, you'll have to apply the INPUT function to the result returned by the SCAN function:
value = input( scan(string, n, '!'), 8.);
It won't hurt to use a length of 8 in the INPUT function when the incoming string contains fewer than 8 characters. Good luck.
Yes
My bad..... I was trying to make it more complicated than it is!
Cheers
jammy,
Yes, you'll need SCAN. However, SCAN alone will create VALUE as a character variable:
value = scan(string, n, '!');
If you want VALUE as a numeric variable, you'll have to apply the INPUT function to the result returned by the SCAN function:
value = input( scan(string, n, '!'), 8.);
It won't hurt to use a length of 8 in the INPUT function when the incoming string contains fewer than 8 characters. Good luck.
Also if you want to know the different nth values, try the below code
data have;
string="X!3.479!3.49902!3.43968!3.49919!3.5432!3.69513!3.52109!3.53714!";
do i = 1 to 10;
new=scan(string,i,'!');
output;
end;
run;
Thanks,
Jag
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.