Расчет частоты фракций в САС - PullRequest
2 голосов
/ 04 июня 2009

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

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

Заранее спасибо!

Clyde013

1 Ответ

2 голосов
/ 05 июня 2009

Clyde013, вот один способ, предполагая, что p имеет тип символа. НТН. ура, чан

> Изъято из 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 */ 
...