我正在使用 10 年 CDC 人口数据按州和年份进行分析。在分析中,我将使用种族和民族数据。我遇到的问题是弄清楚如何使用 proc 转置使每个种族和民族成为自己的列,同时保留每个州和年份的准确人口数据。
目前的数据如下:
State Year Race Eth Pop
Alabama 2010 White NH xxxx
Alabama 2010 Black NH xxxx
Alabama 2010 Asian NH xxxx
Alabama 2010 AI/AN H xxxx
我希望数据看起来像这样:
State Year White/NH Black/NH Asian/NH AI/AN/H
Alabama 2010 xxxx xxxx xxxx xxxx
我可以使用 proc 转置来做到这一点吗?如果有更好的方法来格式化我想要的数据外观,我提前道歉,我不擅长在这里写问题。
谢谢!!
虽然不能使用 / 作为分隔符,但可以使用下划线。我们将使用 Race 和 Eth 作为 ID 来创建变量,并按州和年份进行转置。
proc transpose data=have
out=want(drop=_NAME_)
delimiter=_;
by state year;
id race eth;
var pop;
run;
State Year White_NH Black_NH Asian_NH AI/AN_H
Alabama 2010 xxxx xxxx xxxx xxxx