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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.