У меня странный набор данных, и я надеюсь, что вы все можете мне помочь. У меня есть набор данных уровней определенных загрязнителей окружающей среды, которые измеряются несколькими способами, а также предел обнаружения присутствуют в группе участников исследования. Они нужны мне в широком формате, но, к сожалению, в настоящее время они длинные, а соглашения об именах нелегко перевести.
Вот как это выглядит сейчас:
ID Class Name Weight Amount_lipids Amount_plasma LOD
1 AAA Lead 1.55 44.0 10.0 5.00
1 AAB Mercury 1.55 222.0 100.0 75.00
2 AAA Lead 1.25 25.5 12.0 5.00
Я безуспешно пробовал разные формы Proc Transpose, и это кажется более сложным, чем то, с чем может справиться указание префикса.
Я хочу, чтобы это выглядело так:
ID Weight Lead_lip Lead_plas Lead_LOD Mercury_lip Mercury_plas Mercury_LOD
1 1.55 44.0 10.0 5.0 222.0 100.0 75.0
2 1.25 25.5 12.0 5.0 . . .
Я попытался выполнить двухэтапный процесс транспонирования, но получил следующую ошибку: ОШИБКА: значение идентификатора "xxxxxxxxxxxx" встречается дважды в одной группе BY
by id weight name;
run;
proc transpose data=want_intermediate out=want;
by id weight;
id name _name_;
run;