2009-06-04 5 views
2

Я пытаюсь рассчитать частоту фракций в моем наборе данных (исключая целые числа).Расчет частоты дробей в SAS

Например, моя переменная P принимает значения 24 + 1/2, 97 + 3/8, 12 + 1/4, 57 + 1/2 и т. Д., И я ищу, чтобы найти частоту 1/2, 3/8 и т. Д. Может ли кто-нибудь помочь ?!

Заранее благодарен!

Clyde013

ответ

2

Clyde013, вот один из способов, при условии, что р имеет тип характера. НТН. веселит, чан

> Вытащил из SAS-L

/* test data -- if p is a character var */ 
data one; 
input p $ @@; 
cards; 
24+1/2 
97+3/8 
12+1/4 
57+1/2 
36 3/8 ; 
run; 

/* frequencies of frations? */ 
data two; 
set one; 
whole = scan(p, 1, "+"); 
frac = scan(p, 2, "+"); 
run; 

proc freq data=two; 
tables frac; 
run; 

/* on lst 
         Cumulative Cumulative 
frac Frequency Percent Frequency Percent 
--------------------------------------------------------- 
1/2   2 50.00   2 50.00 
1/4   1 25.00   3 75.00 
3/8   1 25.00   4 100.00 

Frequency Missing = 2 */ 
Смежные вопросы