Next: Funções e Variáveis Definidas para estatística descritiva, Previous: Introdução ao pacote descriptive, Up: descriptive [Contents][Index]

### 45.2 Funções e Variáveis Definidas para manipulação da dados

Função: continuous_freq (list)
Função: continuous_freq (list, m)

  O argumetno de `continuous_freq` deve ser uma lista de números, que serão então agrupadas em intervalos e contado quantos desses dados pertencem a cada grupo. Opcionalmente, a função `continuous_freq` admite um segundo argumento indicando o número de classes, 10 é o valor padrão,

      (%i1) load (numericalio)$
      (%i2) load (descriptive)$
      (%i3) s1 : read_list (file_search ("pidigits.data"))$
      (%i4) continuous_freq (s1, 5);
      (%o4) [[0, 1.8, 3.6, 5.4, 7.2, 9.0], [16, 24, 18, 17, 25]]

  A primeira lista contém os limites de intervalos e o segundo a correspondente contagem: existem 16 algarismos da parte decimal de `%pi` dentro do intervalo `[0, 1.8]`, isto é 0’s e 1’s, 24 algarismos em `(1.8, 3.6]`, isto é 2’s e 3’s, e assim por diante.

Função: discrete_freq (list)

  Conta as freqüências absolutas em amostras discretas, em amostras numéricas e em amostras divididas em categorias. Seu único argumento é uma lista,

      (%i1) load (descriptive)$
      (%i2) load (numericalio)$
      (%i3) s1 : read_list (file_search ("pidigits.data"));
      (%o3) [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8,
      4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7,
      1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4,
      5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8,
      6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7]
      (%i4) discrete_freq (s1);
      (%o4) [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                                   [8, 8, 12, 12, 10, 8, 9, 8, 12, 13]]

  A primeira lista fornece os valores da amostra e a segunda seuas freqüências absolutas. Os comandos `? col` e `? transpose` podem ajudar a você a entender a última entrada.

Função: subsample (matriz_de_dados, expressão_lógica)
Função: subsample (matriz_de_dados, expressão_lógica, col_num, col_num, ...)

  Essas funções são um tipo de variação da função `submatrix` do Maxima. O primeiro argumento é o nome da matriz de dados, o segundo argumento é uma expressão lógica que recebeu apóstrofo e os argumentos opcionais adicionais são o número de colunas a serem tomadas. Esse comportamento é melhor entendido com exemplos,

      (%i1) load (descriptive)$
      (%i2) load (numericalio)$
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) subsample (s2, '(%c[1] > 18));
                    [ 19.38  15.37  15.12  23.09  25.25 ]
                    [                                   ]
                    [ 18.29  18.66  19.08  26.08  27.63 ]
      (%o4)         [                                   ]
                    [ 20.25  21.46  19.95  27.71  23.38 ]
                    [                                   ]
                    [ 18.79  18.96  14.46  26.38  21.84 ]

  Existem registros de várias variáveis nos quais a velocidade do vento na primeira estação meteorológica foram maiores que 18. Veja que na expressão lógica que recebeu apóstrofo o i-ésimo componente é referenciado como `%c[i]`. O símbolo `%c[i]` é usado dentro da função `subsample`, portanto quando usado como uma variável de uma categoria, Maxima fica confuso. No seguinte exemplo, requisitamos somente o primeiro, o segundo e o quinto componentes desses registro com velocidades de vento maiores que ou igual a 16 nós na estação meteorológica número 1 e menor que 25 nós na estação meteorológica número 4,

      (%i1) load (descriptive)$
      (%i2) load (numericalio)$
      (%i3) s2 : read_matrix (file_search ("wind.data"))$
      (%i4) subsample (s2, '(%c[1] >= 16 and %c[4] < 25), 1, 2, 5);
                           [ 19.38  15.37  25.25 ]
                           [                     ]
                           [ 17.33  14.67  19.58 ]
      (%o4)                [                     ]
                           [ 16.92  13.21  21.21 ]
                           [                     ]
                           [ 17.25  18.46  23.87 ]

  Aqui está um exemplo com as variáveis divididas em categorias do arquivo `biomed.data`. Queremos os registros correspondentes a aqueles pacientes no grupo `B` que possuem idade maior que 38 anos,

      (%i1) load (descriptive)$
      (%i2) load (numericalio)$
      (%i3) s3 : read_matrix (file_search ("biomed.data"))$
      (%i4) subsample (s3, '(%c[1] = B and %c[2] > 38));
                      [ B  39  28.0  102.3  17.1  146 ]
                      [                               ]
                      [ B  39  21.0  92.4   10.3  197 ]
                      [                               ]
                      [ B  39  23.0  111.5  10.0  133 ]
                      [                               ]
                      [ B  39  26.0  92.6   12.3  196 ]
      (%o4)           [                               ]
                      [ B  39  25.0  98.7   10.0  174 ]
                      [                               ]
                      [ B  39  21.0  93.2   5.9   181 ]
                      [                               ]
                      [ B  39  18.0  95.0   11.3  66  ]
                      [                               ]
                      [ B  39  39.0  88.5   7.6   168 ]

  Probavelmente, a análise estatística irá envolver somente as medidas sangüíneas,

      (%i1) load (descriptive)$
      (%i2) load (numericalio)$
      (%i3) s3 : read_matrix (file_search ("biomed.data"))$
      (%i4) subsample (s3, '(%c[1] = B and %c[2] > 38), 3, 4, 5, 6);
                         [ 28.0  102.3  17.1  146 ]
                         [                        ]
                         [ 21.0  92.4   10.3  197 ]
                         [                        ]
                         [ 23.0  111.5  10.0  133 ]
                         [                        ]
                         [ 26.0  92.6   12.3  196 ]
      (%o4)              [                        ]
                         [ 25.0  98.7   10.0  174 ]
                         [                        ]
                         [ 21.0  93.2   5.9   181 ]
                         [                        ]
                         [ 18.0  95.0   11.3  66  ]
                         [                        ]
                         [ 39.0  88.5   7.6   168 ]

  Essa é a média de várias variáveis de `s3`,

      (%i1) load (descriptive)$
      (%i2) load (numericalio)$
      (%i3) s3 : read_matrix (file_search ("biomed.data"))$
      (%i4) mean (s3);
             65 B + 35 A  317          6 NA + 8145.0
      (%o4) [-----------, ---, 87.178, -------------, 18.123,
                 100      10                100
                                                          3 NA + 19587
                                                          ------------]
                                                              100

  Aqui, a primeira componente é sem sentido, uma vez que `A` e `B` são categorias, o segundo componente é a idade média dos indivíduos na forma racional, e o quarto eo último valores exibem um comportamento estranho. Isso ocorre porque o símbolo `NA` é usado aqui para indicar dado não disponível (non available em inglês), e as duas médias são certamente sem sentido. Uma solução possível pode ser jogar fora a matriz cujas linhas possuam símbolos `NA`, embora isso cause alguma perda de informação,

      (%i1) load (descriptive)$
      (%i2) load (numericalio)$
      (%i3) s3 : read_matrix (file_search ("biomed.data"))$
      (%i4) mean (subsample (s3, '(%c[4] # NA and %c[6] # NA), 3, 4, 5, 6));
      (%o4) [79.4923076923077, 86.2032967032967, 16.93186813186813,
                                                                  2514
                                                                  ----]
                                                                   13

Next: Funções e Variáveis Definidas para estatística descritiva, Previous: Introdução ao pacote descriptive, Up: descriptive [Contents][Index]