对于一个项目,我有一个包含 150 万个条目的大型数据集,我希望通过一些约束变量来聚合一些汽车贷款数据,例如:
国家、货币、ID、固定或浮动、执行、初始贷款价值、汽车类型、汽车制造商
我想知道是否可以通过将数字的初始贷款值相加然后将相似的变量压缩成具有相同观察值的一行来聚合数据,这样我就可以将第一个数据集变成第二个
Country Currency ID Fixed_or_Floating Performing Initial_Value Current_Value
data have;
set have;
input country $ currency $ ID Fixed $ performing $ initial current;
datalines;
UK GBP 1 Fixed Performing 100 50
UK GBP 1 Fixed Performing 150 30
UK GBP 1 Fixed Performing 160 70
UK GBP 1 Floating Performing 150 30
UK GBP 1 Floating Performing 115 80
UK GBP 1 Floating Performing 110 60
UK GBP 1 Fixed Non-Performing 100 50
UK GBP 1 Fixed Non-Performing 120 30
;
run;
data want;
set have;
input country $ currency $ ID Fixed $ performing $ initial current;
datalines;
UK GBP 1 Fixed Performing 410 150
UK GBP 1 Floating Performing 275 170
UK GBP 1 Fixed Non-performing 220 80
;
run;
本质上是在寻找一种在连接字符变量时对数值求和的方法。
我试过这段代码
proc means data=have sum;
var initial current;
by country currency id fixed performing;
run;
不确定我是否必须使用 proc sql(对于如此大的数据集来说太慢了)或者可能是数据步骤。
任何连接方面的帮助将不胜感激。