我希望爲SAS中的合併數據創建變量。然而,這似乎比人們想象的要困難。動態合併數據
例如,我將有:
var1
1
2
3
5
11
17
...
我想擁有的3箱尺寸:
var1 bin_var
1 1
2 1
3 1
5 2
11 4
17 6
...
,我想出了一個辦法通過循環在整個範圍內做到這一點:
%do i=&bin_min %to &bin_max %by &bin_size;
data foobar;
set foobar;
if (&i =< var_to_bin < (&i+&bin_size)) then; bin_var=&i;
run;
%end;
但是,這是非常緩慢的,更不用說只是簡單的愚蠢。任何人都知道更好的方法來完成這個?
這幾乎是完美的。如果我設置bin_min = 2,那麼前幾個就會出錯。但是這可以通過在bin-line之前的步驟來處理。 – pinegulf
您希望如何處理超出最小和最大垃圾箱數量的值? – DomPazz
取決於案例,但我認爲沿着以下幾點:%if var1 max bin then bin_var =。 –
pinegulf