File: maxima_166.html

package info (click to toggle)
maxima 5.47.0-9
  • links: PTS
  • area: main
  • in suites: forky
  • size: 193,104 kB
  • sloc: lisp: 434,678; fortran: 14,665; tcl: 10,990; sh: 4,577; makefile: 2,763; ansic: 447; java: 328; python: 262; perl: 201; xml: 60; awk: 28; sed: 15; javascript: 2
file content (290 lines) | stat: -rw-r--r-- 17,853 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Maxima Manual: Функции и переменные для манипулирования данными</title>

<meta name="description" content="Maxima Manual: Функции и переменные для манипулирования данными">
<meta name="keywords" content="Maxima Manual: Функции и переменные для манипулирования данными">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="maxima_toc.html#Top" rel="start" title="Top">
<link href="maxima_264.html#g_t_0423_043a_0430_0437_0430_0442_0435_043b_044c-_0444_0443_043d_043a_0446_0438_0439-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0445" rel="index" title="Указатель функций и переменных">
<link href="maxima_toc.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="maxima_164.html#g_t_041f_0430_043a_0435_0442-descriptive" rel="up" title="Пакет descriptive">
<link href="maxima_167.html#g_t_0424_0443_043d_043a_0446_0438_0438-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0435-_0434_043b_044f-_043e_043f_0438_0441_0430_0442_0435_043b_044c_043d_043e_0439-_0441_0442_0430_0442_0438_0441_0442_0438_043a_0438" rel="next" title="Функции и переменные для описательной статистики">
<link href="maxima_165.html#g_t_0412_0432_0435_0434_0435_043d_0438_0435-_0432-_043f_0430_043a_0435_0442-descriptive" rel="previous" title="Введение в пакет descriptive">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
body {color: black; background: white;  margin-left: 8%; margin-right: 13%;
      font-family: "FreeSans", sans-serif}
h1 {font-size: 150%; font-family: "FreeSans", sans-serif}
h2 {font-size: 125%; font-family: "FreeSans", sans-serif}
h3 {font-size: 100%; font-family: "FreeSans", sans-serif}
a[href] {color: rgb(0,0,255); text-decoration: none;}
a[href]:hover {background: rgb(220,220,220);}
div.textbox {border: solid; border-width: thin; padding-top: 1em;
    padding-bottom: 1em; padding-left: 2em; padding-right: 2em}
div.titlebox {border: none; padding-top: 1em; padding-bottom: 1em;
    padding-left: 2em; padding-right: 2em; background: rgb(200,255,255);
    font-family: sans-serif}
div.synopsisbox {
    border: none; padding-top: 1em; padding-bottom: 1em; padding-left: 2em;
    padding-right: 2em; background: rgb(255,220,255);}
pre.example {border: 1px solid rgb(180,180,180); padding-top: 1em;
    padding-bottom: 1em; padding-left: 1em; padding-right: 1em;
    background-color: rgb(238,238,255)}
div.spacerbox {border: none; padding-top: 2em; padding-bottom: 2em}
div.image {margin: 0; padding: 1em; text-align: center}
div.categorybox {border: 1px solid gray; padding-top: 1em; padding-bottom: 1em;
    padding-left: 1em; padding-right: 1em; background: rgb(247,242,220)}
img {max-width:80%; max-height: 80%; display: block; margin-left: auto; margin-right: auto}

-->
</style>

<link rel="icon" href="figures/favicon.ico">
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6>"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
</head>

<body lang="ru" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="g_t_0424_0443_043d_043a_0446_0438_0438-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0435-_0434_043b_044f-_043c_0430_043d_0438_043f_0443_043b_0438_0440_043e_0432_0430_043d_0438_044f-_0434_0430_043d_043d_044b_043c_0438"></a>
<div class="header">
<p>
Next: <a href="maxima_167.html#g_t_0424_0443_043d_043a_0446_0438_0438-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0435-_0434_043b_044f-_043e_043f_0438_0441_0430_0442_0435_043b_044c_043d_043e_0439-_0441_0442_0430_0442_0438_0441_0442_0438_043a_0438" accesskey="n" rel="next">Функции и переменные для описательной статистики</a>, Previous: <a href="maxima_165.html#g_t_0412_0432_0435_0434_0435_043d_0438_0435-_0432-_043f_0430_043a_0435_0442-descriptive" accesskey="p" rel="previous">Введение в пакет descriptive</a>, Up: <a href="maxima_164.html#g_t_041f_0430_043a_0435_0442-descriptive" accesskey="u" rel="up">Пакет descriptive</a> &nbsp; [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_264.html#g_t_0423_043a_0430_0437_0430_0442_0435_043b_044c-_0444_0443_043d_043a_0446_0438_0439-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0445" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Funkcii-i-peremennye-dlya-manipulirovaniya-dannymi"></a>
<h3 class="section">43.2 Функции и переменные для манипулирования данными</h3>

<a name="Item_003a-descriptive_002fdeffn_002fcontinuous_005ffreq"></a><dl>
<dt><a name="index-continuous_005ffreq"></a>Функция: <strong>continuous_freq</strong> <em>(<var>list</var>)</em></dt>
<dt><a name="index-continuous_005ffreq-1"></a>Функция: <strong>continuous_freq</strong> <em>(<var>list</var>, <var>m</var>)</em></dt>
<dd><p>Аргумент <code>continuous_freq</code> должен быть списком чисел,
которые группируются в интервалы и вычисляется число чисел в каждом из 
интервалов. Необязательный второй аргумент <code>continuous_freq</code>
задает число интервалов, по умолчанию 10,
</p>
<div class="example">
<pre class="example">(%i1) load (&quot;numericalio&quot;)$
(%i2) load (&quot;descriptive&quot;)$
(%i3) s1 : read_list (file_search (&quot;pidigits.data&quot;))$
(%i4) continuous_freq (s1, 5);
(%o4) [[0, 1.8, 3.6, 5.4, 7.2, 9.0], [16, 24, 18, 17, 25]]
</pre></div>

<p>Первый список содержит границы интервалов, а второй содержит число чисел в 
соответствующем интервале: 16 цифр в интервале <code>[0, 1.8]</code>, 
что есть 0 или 1, 24 цифры в интервале <code>(1.8, 3.6]</code>, что есть 2 и 3, и т.д.
</p>




</dd></dl>



<a name="Item_003a-descriptive_002fdeffn_002fdiscrete_005ffreq"></a><dl>
<dt><a name="index-discrete_005ffreq"></a>Функция: <strong>discrete_freq</strong> <em>(<var>list</var>)</em></dt>
<dd><p>Вычисляет абсолютные частоты для дискретной выборки, как числовой так и категоризированной. 
Ее единственный аргумент является списком
</p>
<div class="example">
<pre class="example">(%i1) load (&quot;descriptive&quot;)$
(%i2) load (&quot;numericalio&quot;)$
(%i3) s1 : read_list (file_search (&quot;pidigits.data&quot;));
(%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]]
</pre></div>

<p>Первый список значения в выборке, а второй их абсолютные частоты. 
Команды <code>? col</code> и <code>? transpose</code> должны помочь понять последний ввод.
</p>




</dd></dl>



<a name="Item_003a-descriptive_002fdeffn_002fsubsample"></a><dl>
<dt><a name="index-subsample"></a>Функция: <strong>subsample</strong> <em>(<var>data_matrix</var>, <var>logical_expression</var>)</em></dt>
<dt><a name="index-subsample-1"></a>Функция: <strong>subsample</strong> <em>(<var>data_matrix</var>, <var>logical_expression</var>, <var>col_num1</var>, <var>col_num2</var>, ...)</em></dt>
<dd><p>Является некоторым вариантом Maxima функции <code>submatrix</code>. 
Первый аргумент &ndash; имя матрицы данных, второй &ndash; экранированное логическое выражение, необязательные 
последующие аргументы &ndash; номера колонок, которые необходимо выбрать. 
Работу функции лучше всего проиллюстрировать на примерах
</p>
<div class="example">
<pre class="example">(%i1) load (&quot;descriptive&quot;)$
(%i2) load (&quot;numericalio&quot;)$
(%i3) s2 : read_matrix (file_search (&quot;wind.data&quot;))$
(%i4) subsample (s2, '(%c[1] &gt; 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 ]
</pre></div>

<p>Это многомерная выборка в которой скорость ветра в первой метеорологической станции 
превышает 18.  В экранированном логическом выражении <var>i</var>-й компонент
данных обозначается <code>%c[i]</code>. 
Символ <code>%c[i]</code> используется внутри <code>subsample</code>,
что вызывает проблемы если этот символ используется для обозначения категории в 
категоризированных данных. 
В следующем примере мы затребуем только первую, вторую и пятую компоненту записей,
для которых скорость ветра больше или равна 16 на станции номер 1 и 
менее 25 узлов на станции номер 4
</p>
<div class="example">
<pre class="example">(%i1) load (&quot;descriptive&quot;)$
(%i2) load (&quot;numericalio&quot;)$
(%i3) s2 : read_matrix (file_search (&quot;wind.data&quot;))$
(%i4) subsample (s2, '(%c[1] &gt;= 16 and %c[4] &lt; 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 ]
</pre></div>

<p>Далле приведен пример с категоризированными переменными из <code>biomed.data</code>. 
Мы выбираем записи, которые соответствуют пациентам в группе <code>B</code> старше 38 лет
</p>
<div class="example">
<pre class="example">(%i1) load (&quot;descriptive&quot;)$
(%i2) load (&quot;numericalio&quot;)$
(%i3) s3 : read_matrix (file_search (&quot;biomed.data&quot;))$
(%i4) subsample (s3, '(%c[1] = B and %c[2] &gt; 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 ]
</pre></div>


<p>Вероятно статистический анализ будет включать только измерения крови
</p>
<div class="example">
<pre class="example">(%i1) load (&quot;descriptive&quot;)$
(%i2) load (&quot;numericalio&quot;)$
(%i3) s3 : read_matrix (file_search (&quot;biomed.data&quot;))$
(%i4) subsample (s3, '(%c[1] = B and %c[2] &gt; 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 ]
</pre></div>


<p>Это многомерное среднее значение <code>s3</code>
</p>
<div class="example">
<pre class="example">(%i1) load (&quot;descriptive&quot;)$
(%i2) load (&quot;numericalio&quot;)$
(%i3) s3 : read_matrix (file_search (&quot;biomed.data&quot;))$
(%i4) mean (s3);
       65 B + 35 A  317          6 NA + 8145.0
(%o4) [-----------, ---, 87.178, -------------, 18.123, 
           100      10                100
                                                    3 NA + 19587
                                                    ------------]
                                                        100
</pre></div>
<p>Здесь, первая компонента бессмыслена, т.к. <code>A</code> и <code>B</code> 
представляют категории, вторая компонента &ndash; средний возраст пациентов в форме рационального числа, 
а четвертая и последняя компоненты демонстрируют странное поведение.
Это потому, что символ <code>NA</code> используется для случая, когда данные недоступны (<var>non available</var>),
а следовательно эти два средних значения бессмысленны. Возможным решением является исключение
из матрицы строк с символами <code>NA</code>, хотя это и приводит к некоторой потере
данных
</p>
<div class="example">
<pre class="example">(%i1) load (&quot;descriptive&quot;)$
(%i2) load (&quot;numericalio&quot;)$
(%i3) s3 : read_matrix (file_search (&quot;biomed.data&quot;))$
(%i4) mean(subsample(s3, '(%c[4] # NA and %c[6] # NA), 3,4,5,6));
(%o4) [79.4923076923077, 86.2032967032967, 16.93186813186813, 
                                                            2514
                                                            ----]
                                                             13
</pre></div>





</dd></dl>


<a name="Item_003a-descriptive_002fnode_002f_0424_0443_043d_043a_0446_0438_0438-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0435-_0434_043b_044f-_043e_043f_0438_0441_0430_0442_0435_043b_044c_043d_043e_0439-_0441_0442_0430_0442_0438_0441_0442_0438_043a_0438"></a><hr>
<div class="header">
<p>
Next: <a href="maxima_167.html#g_t_0424_0443_043d_043a_0446_0438_0438-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0435-_0434_043b_044f-_043e_043f_0438_0441_0430_0442_0435_043b_044c_043d_043e_0439-_0441_0442_0430_0442_0438_0441_0442_0438_043a_0438" accesskey="n" rel="next">Функции и переменные для описательной статистики</a>, Previous: <a href="maxima_165.html#g_t_0412_0432_0435_0434_0435_043d_0438_0435-_0432-_043f_0430_043a_0435_0442-descriptive" accesskey="p" rel="previous">Введение в пакет descriptive</a>, Up: <a href="maxima_164.html#g_t_041f_0430_043a_0435_0442-descriptive" accesskey="u" rel="up">Пакет descriptive</a> &nbsp; [<a href="maxima_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="maxima_264.html#g_t_0423_043a_0430_0437_0430_0442_0435_043b_044c-_0444_0443_043d_043a_0446_0438_0439-_0438-_043f_0435_0440_0435_043c_0435_043d_043d_044b_0445" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>