2016-09-16 50 views
1

我有一個數據集有一個變量。我可以做PROC頻率顯示如下表:SAS:不能使用特定變量的位置或條件。

proc freq

但是我想輸出的觀察結果serumt = 0.3:

data new; 
set AIM12_OAW; 
where serumt=0.3; 
run; 

我得到錯誤信息如下:

注意:從數據集WORK.AIM12_OAW中未選擇觀察值。 注意:從數據集WORK.AIM12_OAW.WHERE中讀取0個觀察值血清= 0.3;

我試圖

where serumt=0.21 

仍然沒有意見。奇怪的是,如果我做

where serumt=0.12 

它會輸出一個觀察(應該是6)。

如果我這樣做

proc freq data=aim12_onw; 
table serumt; 
by serumt; 
run; 

輸出將是:

proc freq2

我不明白爲什麼變量serumt不能由地方或if語句來選擇。

我確實檢查了血清的格式。對我來說看起來很正常。

format

我不知道如何處理這個變量。非常感謝你的評論。

回答

1

聽起來像它可能是一個浮點精度的問題 - 你可以試試

where round(serumt,0.01) = 0.30

+0

非常感謝!它確實有效。未來如何避免這種情況?任何建議將這個變量轉換爲其他可以識別的變量? –

+0

在您創建變量時舍入變量,或創建它們的舍入副本。 – user667489

相關問題