我有一个数据集,该数据集具有多个度量作为多个时间点。
数据如下:
UserID Var1_2008 Var1_2009 Var1_2010 Var2_2008 Var2_2009 Var2_2010 Race
1 Y N Y 20 30 20 1
2 N N N 15 30 35 0
我希望数据看起来像这样:
Year UserID Var1 Var2 Race
2008 1 Y 20 1
2009 1 N 30 1
....
我该怎么做?我完全迷路了
答案 0 :(得分:2)
假设所有var1_
和var2_
变量的年份相同,则可以使用数组。
data want ; set have ; /* Need two arrays, as one is character, the other numeric */ array v1{*} var1_: ; /* wildcard all 'var1_'-prefixed variables */ array v2{*} var2_: ; /* same for var2_ */ /* loop along v1 array */ do i = 1 to dim(v1) ; /* use vname function to get variable name associated to this array element */ year = input(scan(vname(v1{i}),-1,'_'),8.) ; var1 = v1{i} ; var2 = v2{i} ; output ; end ; drop i ; run ;
答案 1 :(得分:1)
有一个宏!我认为运行以下命令可以完全完成您想要完成的任务:
std_logic_vector