Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Project: STAT
Views: 102
1
\documentclass[a4paper, 11pt]{article}\usepackage[]{graphicx}\usepackage[]{color}
2
%% maxwidth is the original width if it is less than linewidth
3
%% otherwise use linewidth (to make sure the graphics do not exceed the margin)
4
\makeatletter
5
\def\maxwidth{ %
6
\ifdim\Gin@nat@width>\linewidth
7
\linewidth
8
\else
9
\Gin@nat@width
10
\fi
11
}
12
\makeatother
13
14
\definecolor{fgcolor}{rgb}{0.345, 0.345, 0.345}
15
\newcommand{\hlnum}[1]{\textcolor[rgb]{0.686,0.059,0.569}{#1}}%
16
\newcommand{\hlstr}[1]{\textcolor[rgb]{0.192,0.494,0.8}{#1}}%
17
\newcommand{\hlcom}[1]{\textcolor[rgb]{0.678,0.584,0.686}{\textit{#1}}}%
18
\newcommand{\hlopt}[1]{\textcolor[rgb]{0,0,0}{#1}}%
19
\newcommand{\hlstd}[1]{\textcolor[rgb]{0.345,0.345,0.345}{#1}}%
20
\newcommand{\hlkwa}[1]{\textcolor[rgb]{0.161,0.373,0.58}{\textbf{#1}}}%
21
\newcommand{\hlkwb}[1]{\textcolor[rgb]{0.69,0.353,0.396}{#1}}%
22
\newcommand{\hlkwc}[1]{\textcolor[rgb]{0.333,0.667,0.333}{#1}}%
23
\newcommand{\hlkwd}[1]{\textcolor[rgb]{0.737,0.353,0.396}{\textbf{#1}}}%
24
\let\hlipl\hlkwb
25
26
\usepackage{framed}
27
\makeatletter
28
\newenvironment{kframe}{%
29
\def\at@end@of@kframe{}%
30
\ifinner\ifhmode%
31
\def\at@end@of@kframe{\end{minipage}}%
32
\begin{minipage}{\columnwidth}%
33
\fi\fi%
34
\def\FrameCommand##1{\hskip\@totalleftmargin \hskip-\fboxsep
35
\colorbox{shadecolor}{##1}\hskip-\fboxsep
36
% There is no \\@totalrightmargin, so:
37
\hskip-\linewidth \hskip-\@totalleftmargin \hskip\columnwidth}%
38
\MakeFramed {\advance\hsize-\width
39
\@totalleftmargin\z@ \linewidth\hsize
40
\@setminipage}}%
41
{\par\unskip\endMakeFramed%
42
\at@end@of@kframe}
43
\makeatother
44
45
\definecolor{shadecolor}{rgb}{.97, .97, .97}
46
\definecolor{messagecolor}{rgb}{0, 0, 0}
47
\definecolor{warningcolor}{rgb}{1, 0, 1}
48
\definecolor{errorcolor}{rgb}{1, 0, 0}
49
\newenvironment{knitrout}{}{} % an empty environment to be redefined in TeX
50
51
\usepackage{alltt}
52
\usepackage[T2A]{fontenc} % кодировка
53
\usepackage[utf8]{inputenc} % кодировка исходного текста
54
\usepackage[english,russian]{babel} % локализация и переносы
55
\usepackage{indentfirst}
56
\frenchspacing
57
\usepackage{geometry}
58
\geometry{left=2cm, right=1.5cm, top=2cm, bottom=1.5cm}
59
\usepackage{soul}
60
%%% Дополнительная работа с математикой
61
\usepackage{amsmath,amsfonts,amssymb,amsthm,mathtools,bm} %
62
\usepackage{icomma} % "Умная" запятая: $0,2$ --- число, $0, 2$ --- перечисление
63
\usepackage{etoolbox}
64
\usepackage{enumitem}
65
66
\usepackage{lastpage}
67
68
\usepackage{url}
69
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
70
\begin{document}
71
72
% learn more about knitr: https://yihui.name/knitr/
73
74
75
76
\title{Основы работы с R. Обработка статистических данных}
77
78
\author{Варвара Кожухова}
79
80
\maketitle
81
82
\section*{Задание}
83
\begin{enumerate}
84
\item Загрузить данные для своего варианта в переменную-вектор.
85
\item Получить справочную информацию по своим данным, просмотреть их содержимое.
86
\item Проверить, есть ли среди данных пропуски.
87
\item Создать новую переменную-вектор, в которой будут 1, если значение в исходном векторе больше среднего, и –1 если значение переменной меньше среднего и 0 если значение равно среднему.
88
\item Вывести описательную статистику.
89
\item Построить графики абсолютных частот и плотности распределения.
90
\end{enumerate}
91
92
\section*{Варианты}
93
\noindent \begin{tabular}{|l|c|c|c|c|c|c|c|c|c|c|} \hline
94
варианта & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\ \hline
95
Набор данных & \multicolumn{2}{|c|}{CO2} & \multicolumn{2}{|c|}{ChickWeight} & \multicolumn{2}{|c|}{Orange} & \multicolumn{2}{|c|}{airquality} & \multicolumn{2}{|c|}{faithful} \\ \hline
96
Имя вектора & conc & uptake & weight & Time & age & circumference & Wind & Temp & eruptions & waiting \\ \hline
97
\end{tabular}
98
99
\section*{Первые шаги в R}
100
101
Рассмотрим основные выражения в R: числа, строки и логические переменные. Можно использовать R как калькулятор, например:
102
103
\begin{knitrout}
104
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
105
\begin{alltt}
106
\hlnum{1}\hlopt{+}\hlnum{1}
107
\end{alltt}
108
\begin{verbatim}
109
## [1] 2
110
\end{verbatim}
111
\begin{alltt}
112
\hlnum{6}\hlopt{*}\hlnum{7}
113
\end{alltt}
114
\begin{verbatim}
115
## [1] 42
116
\end{verbatim}
117
\begin{alltt}
118
\hlkwd{sqrt}\hlstd{(}\hlnum{16}\hlstd{)}
119
\end{alltt}
120
\begin{verbatim}
121
## [1] 4
122
\end{verbatim}
123
\end{kframe}
124
\end{knitrout}
125
126
Строки печатаются в кавычках: двойных или одинарных.
127
128
\begin{knitrout}
129
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
130
\begin{alltt}
131
\hlstr{"Hello world!"}
132
\end{alltt}
133
\begin{verbatim}
134
## [1] "Hello world!"
135
\end{verbatim}
136
\begin{alltt}
137
\hlstr{'Hello world!'}
138
\end{alltt}
139
\begin{verbatim}
140
## [1] "Hello world!"
141
\end{verbatim}
142
\end{kframe}
143
\end{knitrout}
144
145
Логические выражения возвращают TRUE или FALSE. Чтобы сравнить два выражения, используется двойной знак равенства. Как и в других языках программирования, можно сохранять значения в переменную. Сохраним 42 в переменную $x$, а 5 -- в переменную $X$, но в обратную сторону. Можно так же повторно назначить любое значение переменной в любое время. R чувствителен к регистру: переменные $x$ и $X$ это разные переменные.
146
147
\begin{knitrout}
148
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
149
\begin{alltt}
150
\hlnum{3} \hlopt{<} \hlnum{4}
151
\end{alltt}
152
\begin{verbatim}
153
## [1] TRUE
154
\end{verbatim}
155
\begin{alltt}
156
\hlnum{2} \hlopt{+} \hlnum{2} \hlopt{==} \hlnum{5}
157
\end{alltt}
158
\begin{verbatim}
159
## [1] FALSE
160
\end{verbatim}
161
\begin{alltt}
162
\hlstd{x} \hlkwb{<-} \hlnum{42}
163
\hlnum{5} \hlkwb{->} \hlstd{X}
164
\end{alltt}
165
\end{kframe}
166
\end{knitrout}
167
168
Чтобы вызвать функцию, нужно обратиться к ней по имени, указав в скобках нужные аргументы.
169
170
\begin{knitrout}
171
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
172
\begin{alltt}
173
\hlkwd{sum}\hlstd{(}\hlnum{1}\hlstd{,} \hlnum{3}\hlstd{,} \hlnum{5}\hlstd{)}
174
\end{alltt}
175
\begin{verbatim}
176
## [1] 9
177
\end{verbatim}
178
\end{kframe}
179
\end{knitrout}
180
181
Получить помощь по функции можно командой help(functionname) или ?functionname.
182
183
Зададим вектор $y$ с помощью функции c (сокр. от англ. Combine). NA это пропущенное наблюдение (от англ. Not Available). Его не следует путать с NaN (Not a Number «не число», неопределенность). Попробуем просуммировать элементы вектора $y$. Необязательным аргументом функции sum является na.rm (сокр. от англ. Remove NA), по умолчанию равный FALSE. Если указать для него значение «истина», то функция суммы будет складывать все элементы вектора, исключая пропущенные.
184
185
\begin{knitrout}
186
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
187
\begin{alltt}
188
\hlstd{y} \hlkwb{<-} \hlkwd{c}\hlstd{(}\hlopt{-}\hlnum{3}\hlstd{,} \hlnum{2}\hlstd{,} \hlnum{NA}\hlstd{,} \hlnum{5}\hlstd{)}
189
\hlstd{y}
190
\end{alltt}
191
\begin{verbatim}
192
## [1] -3 2 NA 5
193
\end{verbatim}
194
\begin{alltt}
195
\hlnum{0}\hlopt{/}\hlnum{0}
196
\end{alltt}
197
\begin{verbatim}
198
## [1] NaN
199
\end{verbatim}
200
\begin{alltt}
201
\hlkwd{sum}\hlstd{(y);} \hlkwd{sum}\hlstd{(y,} \hlkwc{na.rm} \hlstd{=} \hlnum{TRUE}\hlstd{)}
202
\end{alltt}
203
\begin{verbatim}
204
## [1] NA
205
## [1] 4
206
\end{verbatim}
207
\end{kframe}
208
\end{knitrout}
209
210
Последовательность чисел можно задать двумя способами: start:end либо функцией seq(). Обращаться к элементам вектора можно, используя квадратные скобки, либо можно задать элементам вектора имена.
211
212
\begin{knitrout}
213
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
214
\begin{alltt}
215
\hlnum{5}\hlopt{:}\hlnum{9} \hlstd{;} \hlkwd{seq}\hlstd{(}\hlnum{5}\hlstd{,}\hlnum{9}\hlstd{)}
216
\end{alltt}
217
\begin{verbatim}
218
## [1] 5 6 7 8 9
219
## [1] 5 6 7 8 9
220
\end{verbatim}
221
\begin{alltt}
222
\hlkwd{seq}\hlstd{(}\hlnum{10}\hlstd{,}\hlnum{50}\hlstd{,} \hlkwc{by} \hlstd{=} \hlnum{10}\hlstd{)}
223
\end{alltt}
224
\begin{verbatim}
225
## [1] 10 20 30 40 50
226
\end{verbatim}
227
\begin{alltt}
228
\hlstd{sentence} \hlkwb{<-} \hlkwd{c}\hlstd{(}\hlstr{'mack'}\hlstd{,} \hlstr{'the'}\hlstd{,} \hlstr{'knife'}\hlstd{)}
229
\hlstd{sentence[}\hlnum{3}\hlstd{]}
230
\end{alltt}
231
\begin{verbatim}
232
## [1] "knife"
233
\end{verbatim}
234
\begin{alltt}
235
\hlstd{sentence[}\hlkwd{c}\hlstd{(}\hlnum{1}\hlstd{,}\hlnum{3}\hlstd{)]}
236
\end{alltt}
237
\begin{verbatim}
238
## [1] "mack" "knife"
239
\end{verbatim}
240
\begin{alltt}
241
\hlstd{ranks} \hlkwb{<-} \hlnum{1}\hlopt{:}\hlnum{3}
242
\hlkwd{names}\hlstd{(ranks)} \hlkwb{<-} \hlkwd{c}\hlstd{(}\hlstr{"first"}\hlstd{,} \hlstr{"second"}\hlstd{,} \hlstr{"third"}\hlstd{)}
243
\hlstd{ranks}
244
\end{alltt}
245
\begin{verbatim}
246
## first second third
247
## 1 2 3
248
\end{verbatim}
249
\begin{alltt}
250
\hlstd{ranks[}\hlstr{"first"}\hlstd{]}
251
\end{alltt}
252
\begin{verbatim}
253
## first
254
## 1
255
\end{verbatim}
256
\end{kframe}
257
\end{knitrout}
258
259
В основном в R работают с наборами данных. Такая структура носит в R название data.frame и представляет собой таблицу, в которой каждый столбец это некоторая переменная, а каждая строка это одно наблюдение. Создадим в режиме скрипта data.frame. Пусть имеются наблюдения за ростом и весом некоторых людей. Зададим два вектора:
260
261
\begin{knitrout}
262
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
263
\begin{alltt}
264
\hlstd{rost} \hlkwb{<-} \hlkwd{c}\hlstd{(}\hlnum{160}\hlstd{,} \hlnum{175}\hlstd{,} \hlnum{155}\hlstd{,} \hlnum{190}\hlstd{,} \hlnum{NA}\hlstd{)}
265
\hlstd{ves} \hlkwb{<-} \hlkwd{c}\hlstd{(}\hlnum{NA}\hlstd{,} \hlnum{70}\hlstd{,} \hlnum{48}\hlstd{,} \hlnum{85}\hlstd{,} \hlnum{60}\hlstd{)}
266
\end{alltt}
267
\end{kframe}
268
\end{knitrout}
269
270
И объединим их в набор данных, который поместим в переменную df, а затем выведем на экран. Обращаться к конкретным наблюдениям df можно, используя квадратные скобки.
271
272
\begin{knitrout}
273
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
274
\begin{alltt}
275
\hlstd{df} \hlkwb{<-} \hlkwd{data.frame}\hlstd{(rost, ves)}
276
\hlstd{df}
277
\end{alltt}
278
\begin{verbatim}
279
## rost ves
280
## 1 160 NA
281
## 2 175 70
282
## 3 155 48
283
## 4 190 85
284
## 5 NA 60
285
\end{verbatim}
286
\begin{alltt}
287
\hlstd{df[}\hlnum{3}\hlstd{,}\hlnum{1}\hlstd{]}
288
\end{alltt}
289
\begin{verbatim}
290
## [1] 155
291
\end{verbatim}
292
\end{kframe}
293
\end{knitrout}
294
295
Обращаться к переменным можно, используя знак \$ или указывая столбец с пропуском номера строки.Обращаться к наблюдениям можно, указывая конкретную строку и пропуская номер столбца.
296
\begin{knitrout}
297
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
298
\begin{alltt}
299
\hlstd{df}\hlopt{$}\hlstd{rost}
300
\end{alltt}
301
\begin{verbatim}
302
## [1] 160 175 155 190 NA
303
\end{verbatim}
304
\begin{alltt}
305
\hlstd{df[ ,}\hlnum{1}\hlstd{] ; df[}\hlnum{4}\hlstd{,]}
306
\end{alltt}
307
\begin{verbatim}
308
## [1] 160 175 155 190 NA
309
## rost ves
310
## 4 190 85
311
\end{verbatim}
312
\end{kframe}
313
\end{knitrout}
314
315
Основные описательные статистики (среднее, стандартное отклонение и медиану) можно получить с помощью функций mean, sd и median.
316
\begin{knitrout}
317
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
318
\begin{alltt}
319
\hlkwd{mean}\hlstd{(df}\hlopt{$}\hlstd{rost,} \hlkwc{na.rm} \hlstd{= T)}
320
\end{alltt}
321
\begin{verbatim}
322
## [1] 170
323
\end{verbatim}
324
\begin{alltt}
325
\hlkwd{sd}\hlstd{(df}\hlopt{$}\hlstd{rost,} \hlkwc{na.rm} \hlstd{= T)}
326
\end{alltt}
327
\begin{verbatim}
328
## [1] 15.81139
329
\end{verbatim}
330
\begin{alltt}
331
\hlkwd{median}\hlstd{(df}\hlopt{$}\hlstd{rost,} \hlkwc{na.rm} \hlstd{= T)}
332
\end{alltt}
333
\begin{verbatim}
334
## [1] 167.5
335
\end{verbatim}
336
\end{kframe}
337
\end{knitrout}
338
339
Подключим дополнительные пакеты для работы со статистикой.
340
\begin{knitrout}
341
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
342
\begin{alltt}
343
\hlkwd{library}\hlstd{(}\hlstr{"psych"}\hlstd{)}\hlcom{# описательные статистики}
344
\hlkwd{library}\hlstd{(}\hlstr{"lmtest"}\hlstd{)} \hlcom{# тестирование гипотез в линейных моделях}
345
\hlkwd{library}\hlstd{(}\hlstr{"ggplot2"}\hlstd{)}\hlcom{# графики}
346
\hlkwd{library}\hlstd{(}\hlstr{"dplyr"}\hlstd{)} \hlcom{# манипуляции с данными}
347
\hlkwd{library}\hlstd{(}\hlstr{"MASS"}\hlstd{)} \hlcom{# подгонка распределений}
348
\end{alltt}
349
\end{kframe}
350
\end{knitrout}
351
Поместим в переменную $d$ встроенный в R набор данных по автомобилям. В этом наборе данных 50 наблюдений и две переменных (скорость, миль/час и длина тормозного пути в футах). Теперь d имеет тип данных data.frame (набор данных). Командой glimpse можно посмотреть на этот набор данных, в результате чего будут перечислены все переменные и типы данных. Переменные speed и dist имеют тип данных dbl (double) и содержат по 50 наблюдений. Для других типов данных используются следующие сокращения: chr (character/string), int (integer), fctr (factor), tims (time), lgl (logical).
352
353
\begin{knitrout}
354
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
355
\begin{alltt}
356
\hlstd{d} \hlkwb{<-} \hlstd{cars}
357
\hlkwd{glimpse}\hlstd{(d)}
358
\end{alltt}
359
\begin{verbatim}
360
## Observations: 50
361
## Variables: 2
362
## $ speed <dbl> 4, 4, 7, 7, 8, 9, 10, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 1...
363
## $ dist <dbl> 2, 10, 4, 22, 16, 10, 18, 26, 34, 17, 28, 14, 20, 24, 28, 26, 34, 34, 4...
364
\end{verbatim}
365
\end{kframe}
366
\end{knitrout}
367
368
Посмотрим на первые шесть и последние шесть наблюдений набора данных d ("голова" и "хвост" набора данных).
369
370
\begin{knitrout}
371
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
372
\begin{alltt}
373
\hlkwd{head}\hlstd{(d)}
374
\end{alltt}
375
\begin{verbatim}
376
## speed dist
377
## 1 4 2
378
## 2 4 10
379
## 3 7 4
380
## 4 7 22
381
## 5 8 16
382
## 6 9 10
383
\end{verbatim}
384
\begin{alltt}
385
\hlkwd{tail}\hlstd{(d)}
386
\end{alltt}
387
\begin{verbatim}
388
## speed dist
389
## 45 23 54
390
## 46 24 70
391
## 47 24 92
392
## 48 24 93
393
## 49 24 120
394
## 50 25 85
395
\end{verbatim}
396
\end{kframe}
397
\end{knitrout}
398
399
Получим таблицу с описательными статистиками: среднее, мода, медиана, стандартное отклонение, минимум/максимум, асимметрия, эксцесс и т.д.
400
401
\begin{knitrout}
402
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
403
\begin{alltt}
404
\hlkwd{describe}\hlstd{(d)} \hlcom{# функция из пакета psych}
405
\end{alltt}
406
\begin{verbatim}
407
## vars n mean sd median trimmed mad min max range skew kurtosis se
408
## speed 1 50 15.40 5.29 15 15.47 5.93 4 25 21 -0.11 -0.67 0.75
409
## dist 2 50 42.98 25.77 36 40.88 23.72 2 120 118 0.76 0.12 3.64
410
\end{verbatim}
411
\end{kframe}
412
\end{knitrout}
413
414
Построим гистограмму абсолютных частот для переменной dist (длины тормозного пути).
415
Воспользуемся функцией qplot, задав источник данных d (аргумент data), переменную для построения графика (dist), подпишем оси (параметры функции xlab и ylab) и название графика (параметр main).
416
417
\begin{knitrout}
418
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
419
\begin{alltt}
420
\hlkwd{qplot}\hlstd{(}\hlkwc{data}\hlstd{=d, dist)} \hlcom{# функция из пакета ggplot2}
421
\end{alltt}
422
423
424
{\ttfamily\noindent\itshape\color{messagecolor}{\#\# `stat\_bin()` using `bins = 30`. Pick better value with `binwidth`.}}\end{kframe}
425
\includegraphics[width=\maxwidth]{figure/cars4-1}
426
427
\end{knitrout}
428
429
Можно построить так же гистограмму плотности распределения.
430
431
\begin{knitrout}
432
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
433
\begin{alltt}
434
\hlcom{# функция из базового пакета graphics}
435
\hlstd{p} \hlkwb{<-} \hlkwd{hist}\hlstd{(d}\hlopt{$}\hlstd{dist,} \hlkwc{probability} \hlstd{=} \hlnum{TRUE}\hlstd{,} \hlkwc{col}\hlstd{=}\hlstr{"grey"}\hlstd{)}
436
\end{alltt}
437
\end{kframe}
438
\includegraphics[width=\maxwidth]{figure/cars5-1}
439
440
\end{knitrout}
441
442
Подгоним плотность распределения Вейбулла, поместив результат (оценки параметров распределения) в переменную fit. Переменная fit теперь представляет собой список (List) из 5 элементов. Доступ к элементам списка можно получить через значок доллара \$. Оценки двух параметров распределения Вейбулла были рассчитаны методом максимального правдоподобия. Просмотрим их, обратившись к элементу списка fit.
443
444
\begin{knitrout}
445
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
446
\begin{alltt}
447
\hlstd{fit} \hlkwb{<-} \hlkwd{fitdistr}\hlstd{(d}\hlopt{$}\hlstd{dist,} \hlstr{"weibull"}\hlstd{)} \hlcom{# функция из пакета MASS}
448
\hlstd{fit}\hlopt{$}\hlstd{estimate}
449
\end{alltt}
450
\begin{verbatim}
451
## shape scale
452
## 1.72371 48.15234
453
\end{verbatim}
454
\end{kframe}
455
\end{knitrout}
456
457
Покажем на том же графике теоретическую плотность распределения Вейбулла.
458
Первый аргумент функции lines это значения по оси абсцисс, на основе которых будет построен график. Далее указывается функция плотности dweibull. Для нее нужно указать значения аргумента для расчета и значения двух параметров распределения: коэффициент формы (shape) и масштаба (scale).
459
460
\begin{knitrout}
461
\definecolor{shadecolor}{rgb}{0.969, 0.969, 0.969}\color{fgcolor}\begin{kframe}
462
\begin{alltt}
463
\hlstd{p} \hlkwb{<-} \hlkwd{hist}\hlstd{(d}\hlopt{$}\hlstd{dist,} \hlkwc{probability} \hlstd{=} \hlnum{TRUE}\hlstd{,} \hlkwc{col}\hlstd{=}\hlstr{"grey"}\hlstd{)}
464
\hlstd{xvals} \hlkwb{<-} \hlkwd{seq}\hlstd{(}\hlnum{0}\hlstd{,} \hlnum{120}\hlstd{,} \hlnum{.20}\hlstd{)} \hlcom{# значения по оси абсцисс от 0 до 120 с шагом 0,2}
465
\hlkwd{lines}\hlstd{(xvals,} \hlkwd{dweibull}\hlstd{(xvals,} \hlkwc{shape}\hlstd{=fit}\hlopt{$}\hlstd{estimate[}\hlnum{1}\hlstd{],} \hlkwc{scale}\hlstd{=fit}\hlopt{$}\hlstd{estimate[}\hlnum{2}\hlstd{]))}
466
\end{alltt}
467
\end{kframe}
468
\includegraphics[width=\maxwidth]{figure/cars7-1}
469
470
\end{knitrout}
471
472
\end{document}
473
474
475
476