我得到了:
data foo;
length Some_id mileage;
input Some_id mileage;
datalines;
1 100
2 200
...
1000 20000
;
我想让每个观察结果重复,里程数由1.1和0.9移动,结果是:
data bar
1 90
1 100
1 110
2 180
2 200
2 220
....
我可以用3x数据步骤和2x proc追加来做到这一点,但感觉很愚蠢。
任何更简单的方式?
答案 0 :(得分:2)
只需使用DO循环。
data bar ;
set foo ;
do factor = 0.9, 1, 1.1 ;
new_mileage = factor * mileage;
output;
end;
run;
答案 1 :(得分:-1)
这是一步解决方案,
data foo;
length Some_id mileage 8;
input Some_id mileage;
do factor = 0.9, 1.0, 1.1;
mileage1 = mileage * factor;
output;
end;
drop factor mileage;
rename mileage1 = mileage;
datalines;
1 100
2 200
;
run;