13
Estatística Computacional A - Aula SAS 01 Estatísticas Descritivas Prof. José Carlos Fogo /* Linha de comando com configurações de página */ options ps=60 ls=80 nodate pageno=1; /* Entrando com um arquivo de dados: SAS dataset. Exemplo de um arquivo de dados com peso, em kg, de coelhos híbridos Norfolk abatidos aos 90 dias de vida. */ data coelhos; input peso tempo; cards; 2.50 14.9 2.58 16.2 2.60 15.4 2.62 15.9 2.65 16.8 2.66 16.1 2.58 14.7 2.70 17.3 2.55 14.5 2.57 14.3 2.70 17.7 2.62 16.0 2.59 16.3 2.54 15.0 2.53 15.5 2.20 11.8 ; proc print data=coelhos; var peso; run; proc means data=coelhos; output out=saida; run; The SAS System 1 The MEANS Procedure Variable N Mean Std Dev Minimum Maximum ------------------------------------------------------------------------------ peso 16 2.5743750 0.1152371 2.2000000 2.7000000 tempo 16 15.5250000 1.3916417 11.8000000 17.7000000 ------------------------------------------------------------------------------

Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

  • Upload
    lamnhi

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

Estatística Computacional A - Aula SAS 01 Estatísticas Descritivas

Prof. José Carlos Fogo

/* Linha de comando com configurações de página */

options ps=60 ls=80 nodate pageno=1;

/* Entrando com um arquivo de dados: SAS dataset.

Exemplo de um arquivo de dados com peso,

em kg, de coelhos híbridos Norfolk abatidos

aos 90 dias de vida. */

data coelhos;

input peso tempo;

cards;

2.50 14.9

2.58 16.2

2.60 15.4

2.62 15.9

2.65 16.8

2.66 16.1

2.58 14.7

2.70 17.3

2.55 14.5

2.57 14.3

2.70 17.7

2.62 16.0

2.59 16.3

2.54 15.0

2.53 15.5

2.20 11.8

;

proc print data=coelhos;

var peso;

run;

proc means data=coelhos;

output out=saida;

run;

The SAS System 1

The MEANS Procedure

Variable N Mean Std Dev Minimum Maximum

------------------------------------------------------------------------------

peso 16 2.5743750 0.1152371 2.2000000 2.7000000

tempo 16 15.5250000 1.3916417 11.8000000 17.7000000

------------------------------------------------------------------------------

Page 2: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

/* Avaliando o dataset de saída */

proc print data=saida;

run;

The SAS System 2

Obs _TYPE_ _FREQ_ _STAT_ peso tempo

1 0 16 N 16.0000 16.0000

2 0 16 MIN 2.2000 11.8000

3 0 16 MAX 2.7000 17.7000

4 0 16 MEAN 2.5744 15.5250

5 0 16 STD 0.1152 1.3916

proc univariate data=coelhos plot;

var peso;

run;

The SAS System 3

The UNIVARIATE Procedure

Variable: peso

Moments

N 16 Sum Weights 16

Mean 2.574375 Sum Observations 41.19

Std Deviation 0.11523707 Variance 0.01327958

Skewness -2.379303 Kurtosis 7.74564229

Uncorrected SS 106.2377 Corrected SS 0.19919375

Coeff Variation 4.47631268 Std Error Mean 0.02880927

Basic Statistical Measures

Location Variability

Mean 2.574375 Std Deviation 0.11524

Median 2.585000 Variance 0.01328

Mode 2.580000 Range 0.50000

Interquartile Range 0.09000

Note: The mode displayed is the smallest of 3 modes with a count of 2.

Tests for Location: Mu0=0

Test -Statistic- -----p Value------

Student's t t 89.35926 Pr > |t| <.0001

Sign M 8 Pr >= |M| <.0001

Signed Rank S 68 Pr >= |S| <.0001

Quantiles (Definition 5)

Level Quantile

100% Max 2.700

Page 3: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

99% 2.700

95% 2.700

90% 2.700

75% Q3 2.635

50% Median 2.585

25% Q1 2.545

10% 2.500

5% 2.200

1% 2.200

0% Min 2.200

The SAS System 4

The UNIVARIATE Procedure

Variable: peso

Extreme Observations

----Lowest---- ----Highest---

Value Obs Value Obs

2.20 16 2.62 12

2.50 1 2.65 5

2.53 15 2.66 6

2.54 14 2.70 8

2.55 9 2.70 11

/* Criando um dataset de saída */

proc univariate data=coelhos;

var peso;

output out=saida2

NOBS=n_obs SUM=soma MEAN=media STD=desv_pad

CV=coef_var VAR=variancia MAX=maximo MIN=minimo

GEOMEAN=gmedia SKEW=assim KURT=curtose;

run;

proc print data=saida2;

run;

The SAS System 5

Obs media desv_pad assim coef_var soma variancia

1 2.57438 0.11524 -2.37930 4.47631 41.19 0.013280

curtose n_obs maximo minimo gmedia

7.74564 16 2.7 2.2 2.57179

Page 4: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

/* Abrindo um dataset de uma pasta em disco */

data Peruanos;

infile "C:\Users\JCFogo\Documents\Disciplinas\ECA\Aulas SAS\PeruanosSAS.txt";

input Idade Tempo Peso Altura Pulso Sistol Diastol;

run;

proc print data=Peruanos;

title "Exemplo dados Peruanos";

run;

Exemplo dados Peruanos 6

Obs Idade Tempo Peso Altura Pulso Sistol Diastol

1 21 1 71.0 1629 88 170 76

2 22 6 56.5 1569 64 120 60

3 24 5 56.0 1561 68 125 75

4 24 1 61.0 1619 52 148 120

5 25 1 65.0 1566 72 140 78

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38 50 43 70.0 1630 72 132 90

39 54 40 87.0 1542 92 152 88

/* Ordenando os dados pela variável Peso */

proc sort data=Peruanos;

by Peso;

run;

Exemplo dados Peruanos 7

Obs Idade Tempo Peso Altura Pulso Sistol Diastol

1 28 5 53.0 1494 64 120 76

2 28 25 53.0 1568 80 108 62

3 37 16 55.0 1505 64 120 76

4 47 1 55.0 1536 64 116 54

5 24 5 56.0 1561 68 125 75

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38 39 24 74.0 1647 64 128 84

39 54 40 87.0 1542 92 152 88

Page 5: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

/* Representações Gráficas no SAS pelo proc plot */

proc chart data=Peruanos;

title 'Histograma Pressao Sistolica';

vbar Sistol;

run;

Histograma Pressao Sistolica 8

Frequency

15 + *****

| *****

14 + *****

| *****

13 + *****

| *****

12 + ***** *****

| ***** *****

11 + ***** *****

| ***** *****

10 + ***** *****

| ***** *****

9 + ***** *****

| ***** *****

8 + ***** *****

| ***** *****

7 + ***** *****

| ***** *****

6 + ***** ***** *****

| ***** ***** *****

5 + ***** ***** *****

| ***** ***** *****

4 + ***** ***** ***** *****

| ***** ***** ***** *****

3 + ***** ***** ***** *****

| ***** ***** ***** *****

2 + ***** ***** ***** *****

| ***** ***** ***** *****

1 + ***** ***** ***** ***** ***** *****

| ***** ***** ***** ***** ***** *****

-------------------------------------------------------------------------

108 120 132 144 156 168

Sistol Midpoint

Page 6: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

/* Representação Gráfica no SAS pelo proc gplot */

proc plot data=Peruanos;

title 'Grafico Sistol x Peso';

plot Sistol*Peso;

run;

Grafico Sistol x Peso 9

Plot of Sistol*Peso. Legend: A = 1 obs, B = 2 obs, etc.

Sistol |

|

170 + A

168 +

166 +

164 +

162 +

160 +

158 +

156 +

154 +

152 + A

150 +

148 + A

146 +

144 +

142 + A

140 + A A

138 + A A

136 + A

134 + AA A A A

132 + A

130 + A

128 + B A

126 + AA

124 + AA A

122 +

120 + A A AA

118 + A A

116 + A A

114 + A B

112 + A

110 + A

108 + A

106 + A

|

---+-------+-------+-------+-------+-------+-------+-------+-------+--

50 55 60 65 70 75 80 85 90

Peso

Page 7: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

proc gplot data=Peruanos;

title "Peruanos - Pressao Sistolica x Peso";

symbol i=none v=dot h=1 c=blue;

plot Sistol*Peso;

run;

Sistol

100

110

120

130

140

150

160

170

Peso

50 60 70 80 90

Peruanos - Pressao Sistolica x Peso

Page 8: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

Estatística Computacional A - Aula SAS 02 Manipulando SAS dataset ’s

Prof. José Carlos Fogo

/* Lendo o arquivo de dados PeruanosSAS.txt e criando novas variáveis:

1) Pressao, indicadora de pressão alta, classificando os indivíduos em

hipertenso ou normal;

2) rq_altura, raiz quadrada da altura. */

title "Exemplos de manipulação de dados no ambiente data";

data Peruanos;

infile "C:\Users\JCFogo\Documents\Disciplinas\ECA\Aulas SAS\PeruanosSAS.txt";

input Idade Tempo Peso Altura Pulso Sistol Diastol;

if Sistol > 130 then Pressao='Hipertenso';

else Pressao='Normal';

rq_altura=sqrt(altura);

run;

/* Arquivo PeruanosSAS.txt, com as novas variáveis */

proc print data=Peruanos;

run;

Exemplos de manipulação de dados no ambiente data 1

Obs Idade Tempo Peso Altura Pulso Sistol Diastol Pressao rq_altura

1 21 1 71.0 1629 88 170 76 Hipertenso 40.3609

2 22 6 56.5 1569 64 120 60 Normal 39.6106

3 24 5 56.0 1561 68 125 75 Normal 39.5095

4 24 1 61.0 1619 52 148 120 Hipertenso 40.2368

5 25 1 65.0 1566 72 140 78 Hipertenso 39.5727

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38 50 43 70.0 1630 72 132 90 Hipertenso 40.3733

39 54 40 87.0 1542 92 152 88 Hipertenso 39.2683

Page 9: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

/* Criando um novo SAS dataset "pressao" com as variáveis Sistol e Diastol

Comandos: set e keep */

data pressao; set Peruanos;

keep Sistol Diastol;

run;

proc print data=pressao;

run;

quit;

Exemplos de manipulação de dados no ambiente data 2

Obs Sistol Diastol

1 170 76

2 120 60

3 125 75

4 148 120

. . . . . . . . . . .

38 132 90

39 152 88

/* Separando os dados em dois conjuntos: Hipertensos e Normais

Comando: if */

data Hipertensos; set Peruanos;

if Pressao='Hipertenso';

run;

data Normais; set Peruanos;

keep Idade Tempo Altura Pulso Sistol Diastol Peso;

if Pressao='Normal';

run;

proc print data=Hipertensos;

title "Peruanos com Pressao Sistolica Elevada";

run;

Peruanos com Pressão Sistólica Elevada 3

Obs Idade Tempo Peso Altura Pulso Sistol Diastol Pressao raiz_alt

1 21 1 71.0 1629 88 170 76 Hipertenso 40.3609

2 24 1 61.0 1619 52 148 120 Hipertenso 40.2368

3 25 1 65.0 1566 72 140 78 Hipertenso 39.5727

4 32 13 57.0 1530 60 134 64 Hipertenso 39.1152

5 35 2 64.0 1648 60 138 78 Hipertenso 40.5956

6 36 12 56.5 1521 72 134 86 Hipertenso 39.0000

7 38 11 61.0 1653 76 136 78 Hipertenso 40.6571

8 39 14 72.0 1620 68 134 92 Hipertenso 40.2492

9 41 5 63.4 1647 76 134 92 Hipertenso 40.5832

10 43 25 69.0 1625 72 140 72 Hipertenso 40.3113

11 43 26 73.0 1615 68 138 74 Hipertenso 40.1871

12 44 18 71.0 1572 72 142 84 Hipertenso 39.6485

13 45 10 60.2 1534 56 134 70 Hipertenso 39.1663

14 50 43 70.0 1630 72 132 90 Hipertenso 40.3733

15 54 40 87.0 1542 92 152 88 Hipertenso 39.2683

Page 10: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

proc print data=Normais;

title "Peruanos com Pressão Sistólica Normal";

run;

quit;

Peruanos com Pressão Sistólica Normal 4

Obs Idade Tempo Peso Altura Pulso Sistol Diastol

1 22 6 56.5 1569 64 120 60

2 24 5 56.0 1561 68 125 75

3 27 19 62.0 1639 72 106 72

4 28 5 53.0 1494 64 120 76

5 28 25 53.0 1568 80 108 62

6 31 6 65.0 1540 76 124 70

7 33 13 66.5 1622 68 116 76

8 33 10 59.1 1486 72 114 74

9 34 15 64.0 1578 88 130 80

10 35 18 69.5 1645 60 118 68

11 36 15 57.0 1547 84 120 70

12 37 16 55.0 1505 64 120 76

13 37 17 57.0 1473 72 114 80

14 38 10 58.0 1538 64 124 64

15 38 18 59.5 1513 80 114 66

16 38 11 57.0 1566 60 126 72

17 39 21 57.5 1580 64 124 62

18 39 24 74.0 1647 64 128 84

19 41 25 62.5 1637 76 112 80

20 41 32 68.0 1528 60 128 82

21 42 12 68.0 1605 88 128 90

22 43 10 64.0 1640 60 118 66

23 44 19 65.0 1610 74 110 70

24 47 1 55.0 1536 64 116 54

/* Ordenando os dados com mais de uma chave de classificação:

Pressao e Peso (dentro de Pressao) */

proc sort data=peruanos;

by pressao peso;

run;

proc print data=Peruanos;

title "Dados ordenados por mais de uma chave de classificação";

run;

quit;

Page 11: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

/* proc univariate com arquivo de saída (saida2) selecionando as estatísticas

Descritivas: nobs, Média, Variância, Q1, Mediana e Q3 */

proc univariate data=Peruanos;

var Peso;

output out=saida2 N=nobs mean=media var=Variancia

q1=Quartil_1 median=Mediana q3=Quartil_3;

run;

proc print data=saida2;

run;

quit;

/* Algumas análises e gráficos para o grupo hipertenso */

proc univariate data=Hipertensos normal plot;

var Sistol Diastol;

run;

proc chart data=Hipertensos;

title 'Histograma';

vbar Sistol;

run;

proc plot data=Hipertensos;

plot Sistol*Peso;

run;

proc gplot data=Hipertensos;

title "Peruanos com Pressao Sistolica Elevada";

symbol i=line v=dot h=1 c=blue;

plot Sistol*Peso;

run;

quit;

/* proc univariate para o grupo com pressão normal */

proc print data=Normais;

title "Peruanos com Pressão Sistólica Normal";

run;

proc univariate data=Normais normal plot;

var Sistol Diastol;

run;

quit;

Page 12: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

Estatística Computacional A - Aula SAS 03 O proc iml para manipulação de matrizes e vetores

Prof. José Carlos Fogo

title "O proc iml para manipulação de vetores e matrizes";

proc iml;

/* definição de um vetor de dados */

x1={100,60,45,33,75,35};

/* ou ainda */

x2={100,

60,

45,

33,

75,

35};

print "vetores de dados";

print x1 x2;

/*numero de linhas do vetor */

n=nrow(x1);

/* vetor de 1's: a função j() */

um=j(n,1);

/* produto escalar */

sumx=t(x1)*um;

sumxq=x1`*x1;

print "somas dos dados e dos seus quadrados com produto escalar";

print sumx sumxq;

/* produto elemento-a-elemento */

xq = x1#x1;

sxq = sum(xq);

print "dados ao quadrados e sua soma";

print xq sxq;

/* estatísticas descritivas média e variância amostrais */

xbar=sumx/n;

sx=(sumxq-n*(xbar**2))/(n-1);

dpx=sqrt(sx);

print "média, variância e desvio-padrão amostrais";

print n xbar sx dpx;

quit;

Page 13: Aula SAS 01 - Universidade Federal de Sao Carlos · /* Linha de comando com ... raiz quadrada da altura. */ title "Exemplos de manipulação de dados no ... 9 34 15 64.0 1578 88 130

/* Resultado dos comandos do proc iml */

O proc iml para manipulação de vetores e matrizes 1

vetores de dados

x1 x2

100 100

60 60

45 45

33 33

75 75

35 35

somas dos dados e dos seus quadrados, com produto escalar

sumx sumxq

348 23564

dados ao quadrado e sua soma

xq sxq

10000 23564

3600

2025

1089

5625

1225

média, variância e desvio-padrão amostrais

n xbar sx dpx

6 58 676 2