I have a dataset with some unknow number of numeric variables (>10) and character variables (>20).
The question is how to convert all the numeric values into character values, and then contatenate these values into a single string.
Thanks very much.
The ARRAY isn't necessary. Instead:
length newv $ 200 ;
newv=catx(' ',of _numeric_) ;
art297 wrote:
data have;
do i=10 to 11;
n1=i;
n2=i+8;
n3=i+5;
n4=i+1;
n5=2*i;
output;
end;
run;
data want;
set have;
array nums(*) _numeric_;
newv=catx(' ',of nums(*));
run;
You could put all the variables into an array using the _numeric_ key-word.
Concatenation can you do in a do loop using the dim() function.
/Linus
data have(drop=i);
do i=10 to 11;
n1=i;
n2=i+8;
n3=i+5;
n4=i+1;
n5=2*i;
output;
end;
run;
data want;
length new $ 200;
set have;
array _num(*) _numeric_;
new=catt(of _num(*));
run;
data have;
do i=10 to 11;
n1=i;
n2=i+8;
n3=i+5;
n4=i+1;
n5=2*i;
output;
end;
run;
data want;
set have;
array nums(*) _numeric_;
newv=catx(' ',of nums(*));
run;
The ARRAY isn't necessary. Instead:
length newv $ 200 ;
newv=catx(' ',of _numeric_) ;
art297 wrote:
data have;
do i=10 to 11;
n1=i;
n2=i+8;
n3=i+5;
n4=i+1;
n5=2*i;
output;
end;
run;
data want;
set have;
array nums(*) _numeric_;
newv=catx(' ',of nums(*));
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.