问题描述
我有我在 SAS Studio 中使用 PROC MEANS 和 PROC sql 创建的这种数据表(它只是大型数据集的一部分)。我想在这里添加几个新列,显示每年的 pct_missing。因为,现在,我们在多行中有相同的变量,因为我按年份对其进行了分组。有什么办法可以使用循环添加这些类型的列吗?
当前数据(原始数据表):
我希望拥有的: (想添加所有新列pct_missing_2004 ~ pct_missing_2018 显示每年变量的pct_missing)(下面写的pct_missing_2004,2005的值只是一个例子!!!)
无论如何我们可以使用循环或 SAS 中的任何其他好方法来做到这一点!?
解决方法
我不是 100% 我确定你想要什么,但也许转置可能会有所帮助。
看看下面这个例子。
data have;
input
year 4.
variable $1.
pct_missing 3.;
CARDS;
2011A100
2011B90
2010A80
2010B70
2010C60
;
run;
proc sort
data=have;
by variable;
run;
Proc Transpose
data=have
out=want (drop=_name_)
prefix=pct_missing;
id year;
var pct_missing;
by variable ;
run;
安卓