2017-11-22 12 views
0

私はカテゴリ変数から頻度テーブルを取得しようとしています。 出力はありません。エラーが表示されます。sasの頻度テーブル

data one; 

input overweight $ hours; 

if hours <= 2 then hours= 'low'; 

if hours > 2 then hours= 'high'; 

if hours= 'high' then d=1; 

else d=0; 

datalines; 

yes 8.0 
no  0.5 
yes 2.0 
yes 6.5 
. 
. 
. 
; 
proc freq data=one order=data; 

by hours; 

table overweight*hours/cmh; 

run; 

おかげ

+0

以下に述べるように、SASでは変数タイプを動的に変更することはできません。 HOURS_CHARまたはHOURS_CATにHOURSの名前を変更すると、別の名前を使用することもできます。 – Reeza

答えて

2

あなたは数値変数に文字列を代入しようとしているので、あなたはデータが表示されない: はここに私のコードです。

if hours <= 2 then hours= 'low'; 
if hours > 2 then hours= 'high'; 

これは、時間に欠損値を割り当てます。時間は欠落しているため、出力が表示されません。

あなたは次のようにテキストの代わりに時間の数値を使用するようにコードを変更した場合:あなたが時間によってあなたのデータセットをソートする必要があるでしょうし、その後、あなたの出力が表示されるはずです。この後

if hours <= 2 then hours = 0; 
if hours > 2 then hours = 1; 

関連する問題