I was wondering if someone could help me with a simple but yet complex task that's driving me nuts. Thanks.
My data set in excel
| dog | cat | mice | camel | pigeon | cow | goat | fish | horse | donkey | monkey | lion | rat |
| 9 | 7 | 0.25 | 2534 | 0.57 | 2243 | 18 | 4 | 3456 | 3312 | 23 | 1544 | 0.69 |
I want to create two variables 'animals' and 'weight' to match each animal in columns with respective weight without modifying the data. Just by using proc import and or proc sort.
proc import datafile='E:\Copy of final examination.xls' out=Animals dbms=xls replace;sheet=animals;run;
The trick is to use function vname to get the variable names and the _NUMERIC_ variable list to populate an array :
data want;
set animals;
array v{*} _NUMERIC_;
do i = 1 to dim(v);
animal = vname(v{i});
weight = v{i};
output;
end;
keep animal weight;
run;
PG
The trick is to use function vname to get the variable names and the _NUMERIC_ variable list to populate an array :
data want;
set animals;
array v{*} _NUMERIC_;
do i = 1 to dim(v);
animal = vname(v{i});
weight = v{i};
output;
end;
keep animal weight;
run;
PG
Wow thank you for your help that's exactly what I was trying to figure out!
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!
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.