-
Notifications
You must be signed in to change notification settings - Fork 3
/
index.html
534 lines (512 loc) · 48 KB
/
index.html
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
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
<!DOCTYPE html>
<!-- Generated by pkgdown: do not edit by hand --><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Build and Tune Several Models • Build and Tune Several Models</title>
<!-- jquery --><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script><!-- Bootstrap --><link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/darkly/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script><!-- bootstrap-toc --><link rel="stylesheet" href="bootstrap-toc.css">
<script src="bootstrap-toc.js"></script><!-- Font Awesome icons --><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous">
<!-- clipboard.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script><!-- headroom.js --><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script><!-- pkgdown --><link href="pkgdown.css" rel="stylesheet">
<script src="pkgdown.js"></script><meta property="og:title" content="Build and Tune Several Models">
<meta property="og:description" content="Frequently one needs a convenient way to build and tune
several models in one go.The goal is to provide a number of machine learning convenience
functions. It provides the ability to build, tune and obtain predictions of
several models in one function. The models are built using functions from
caret with easier to read syntax.
Kuhn(2014) <arXiv:1405.6974>.">
<!-- mathjax --><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script><!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body data-spy="scroll" data-target="#toc">
<div class="container template-home">
<header><div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">
<a class="navbar-link" href="index.html">Build and Tune Several Models</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.3.7</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="articles/manymodelr_vignette.html">
<span class="fa fa-home"></span>
</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
Documentation
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li>
<a href="articles/modeling.html">Modeling with manymodelr</a>
</li>
<li>
<a href="articles/correlations.html">Correlation analysis</a>
</li>
<li>
<a href="articles/misc.html">Miscellaneous</a>
</li>
<li>
<a href="news/index.html">Changes</a>
</li>
</ul>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="https://github.com/Nelson-Gon/manymodelr/">
<span class="fab fa-github fa-lg"></span>
</a>
</li>
</ul>
</div>
<!--/.nav-collapse -->
</div>
<!--/.container -->
</div>
<!--/.navbar -->
</header><div class="row">
<div class="contents col-md-9">
<div id="manymodelr-build-and-tune-several-models" class="section level1">
<div class="page-header"><h1 class="hasAnchor">
<a href="#manymodelr-build-and-tune-several-models" class="anchor"></a>manymodelr: Build and Tune Several Models</h1></div>
<p>2021-11-12</p>
<p><a href="https://CRAN.R-project.org/package=manymodelr"><img src="https://www.r-pkg.org/badges/version/manymodelr" alt="CRAN_Status_Badge"></a> <a href="https://app.codecov.io/gh/Nelson-Gon/manymodelr?branch=develop"><img src="https://codecov.io/gh/Nelson-Gon/manymodelr/branch/develop/graph/badge.svg" alt="Codecov test coverage"></a> <a href="https://zenodo.org/record/5211272"><img src="https://zenodo.org/badge/DOI/10.5281/zenodo.3891106.svg" alt="DOI"></a> <a href="https://github.com/Nelson-Gon/manymodelr"><img src="https://github.com/Nelson-Gon/manymodelr/workflows/R-CMD-check-devel/badge.svg" alt="R CMDCheck"></a> <img src="https://github.com/Nelson-Gon/manymodelr/workflows/test-coverage/badge.svg" alt="test-coverage"><a href="https://www.gnu.org/licenses/gpl-3.0.en.html"><img src="https://img.shields.io/badge/license-GPL--2-blue.svg" alt="license"></a> <a href="https://CRAN.R-project.org/package=manymodelr"><img src="https://www.r-pkg.org/badges/version-ago/manymodelr" alt="CRAN_Release_Badge"></a> <a href="https://CRAN.R-project.org/package=manymodelr"><img src="https://cranlogs.r-pkg.org/badges/manymodelr" alt="Downloads"></a> <a href="https://CRAN.R-project.org/package=manymodelr"><img src="https://cranlogs.r-pkg.org/badges/grand-total/manymodelr?color=yellow" alt="TotalDownloads"></a> <a href="https://lifecycle.r-lib.org/articles/stages.html"><img src="https://img.shields.io/badge/lifecycle-stable-brightgreen.svg" alt="lifecycle"></a> <a href="https://GitHub.com/Nelson-Gon/manymodelr/graphs/commit-activity"><img src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" alt="Maintenance"></a> <a href="https://www.repostatus.org/"><img src="https://www.repostatus.org/badges/latest/active.svg" alt="Project Status"></a> <a href="https://github.com/Nelson-Gon/manymodelr/commits/master"><img src="https://img.shields.io/github/last-commit/Nelson-Gon/manymodelr.svg" alt="GitHub last commit"></a> <a href="https://GitHub.com/Nelson-Gon/manymodelr/issues/"><img src="https://img.shields.io/github/issues/Nelson-Gon/manymodelr.svg" alt="GitHub issues"></a> <a href="https://GitHub.com/Nelson-Gon/manymodelr/issues?q=is%3Aissue+is%3Aclosed"><img src="https://img.shields.io/github/issues-closed/Nelson-Gon/manymodelr.svg" alt="GitHub issues-closed"></a> <a href="https://makeapullrequest.com"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome"></a></p>
<p>In this vignette, we take a look at how we can simplify many machine learning tasks using <code>manymodelr</code>.</p>
<div id="installation" class="section level2">
<h2 class="hasAnchor">
<a href="#installation" class="anchor"></a>Installation</h2>
<div class="sourceCode" id="cb1"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/utils/install.packages.html">install.packages</a></span><span class="op">(</span><span class="st">"manymodelr"</span><span class="op">)</span></code></pre></div>
<p>Once the package has been successfully installed, we can then proceed by loading the package and exploring some of the key functions.</p>
<p><strong>Loading the package</strong></p>
<div class="sourceCode" id="cb2"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="kw"><a href="https://rdrr.io/r/base/library.html">library</a></span><span class="op">(</span><span class="va"><a href="https://github.com/Nelson-Gon/manymodelr">manymodelr</a></span><span class="op">)</span>
<span class="co">#> Loading required package: caret</span>
<span class="co">#> Loading required package: ggplot2</span>
<span class="co">#> Loading required package: lattice</span>
<span class="co">#> Loading required package: Metrics</span>
<span class="co">#> </span>
<span class="co">#> Attaching package: 'Metrics'</span>
<span class="co">#> The following objects are masked from 'package:caret':</span>
<span class="co">#> </span>
<span class="co">#> precision, recall</span>
<span class="co">#> Loading required package: e1071</span>
<span class="co">#> Welcome to manymodelr. This is manymodelr version 0.3.7.</span>
<span class="co">#> Please file issues and feedback at https://www.github.com/Nelson-Gon/manymodelr/issues</span>
<span class="co">#> Turn this message off using 'suppressPackageStartupMessages(library(manymodelr))'</span>
<span class="co">#> Happy Modelling! :)</span>
<span class="co"># data for examples</span>
<span class="fu"><a href="https://rdrr.io/r/utils/data.html">data</a></span><span class="op">(</span><span class="st">"yields"</span>, package<span class="op">=</span><span class="st">"manymodelr"</span><span class="op">)</span></code></pre></div>
</div>
<div id="modeling" class="section level2">
<h2 class="hasAnchor">
<a href="#modeling" class="anchor"></a>Modeling</h2>
<p>First, a word of caution. The examples shown in this section are meant to simply show what the functions do and not what the best model is. For a specific use case, please perform the necessary model checks, post-hoc analyses, and/or choose predictor variables and model types as appropriate based on domain knowledge.</p>
<p>With this in mind, let us look at how we can perform modeling tasks using <code>manymodelr</code>.</p>
<ul>
<li><strong><code>multi_model_1</code></strong></li>
</ul>
<p>This is one of the core functions of the package. <code>multi_model_1</code> aims to allow model fitting, prediction, and reporting with a single function. The <code>multi</code> part of the function’s name reflects the fact that we can fit several model types with one function. An example follows next.</p>
<p>For purposes of this report, we create a simple dataset to use.</p>
<div class="sourceCode" id="cb3"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/base/Random.html">set.seed</a></span><span class="op">(</span><span class="fl">520</span><span class="op">)</span>
<span class="va">train_set</span><span class="op"><-</span><span class="fu"><a href="https://rdrr.io/pkg/caret/man/createDataPartition.html">createDataPartition</a></span><span class="op">(</span><span class="va">yields</span><span class="op">$</span><span class="va">normal</span>,p<span class="op">=</span><span class="fl">0.6</span>,list<span class="op">=</span><span class="cn">FALSE</span><span class="op">)</span>
<span class="va">valid_set</span><span class="op"><-</span><span class="va">yields</span><span class="op">[</span><span class="op">-</span><span class="va">train_set</span>,<span class="op">]</span>
<span class="va">train_set</span><span class="op"><-</span><span class="va">yields</span><span class="op">[</span><span class="va">train_set</span>,<span class="op">]</span>
<span class="va">ctrl</span><span class="op"><-</span><span class="fu"><a href="https://rdrr.io/pkg/caret/man/trainControl.html">trainControl</a></span><span class="op">(</span>method<span class="op">=</span><span class="st">"cv"</span>,number<span class="op">=</span><span class="fl">5</span><span class="op">)</span>
<span class="va">m</span><span class="op"><-</span><span class="fu"><a href="reference/multi_model_1.html">multi_model_1</a></span><span class="op">(</span><span class="va">train_set</span>,<span class="st">"normal"</span>,<span class="st">"."</span>,<span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"knn"</span>,<span class="st">"rpart"</span><span class="op">)</span>,
<span class="st">"Accuracy"</span>,<span class="va">ctrl</span>,new_data <span class="op">=</span><span class="va">valid_set</span><span class="op">)</span></code></pre></div>
<p>The above returns a list containing metrics, predictions, and a model summary. These can be extracted as shown below.</p>
<div class="sourceCode" id="cb4"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="va">m</span><span class="op">$</span><span class="va">metric</span>
<span class="co">#> # A tibble: 1 x 2</span>
<span class="co">#> knn_accuracy rpart_accuracy</span>
<span class="co">#> <dbl> <dbl></span>
<span class="co">#> 1 0.872 0.68</span></code></pre></div>
<div class="sourceCode" id="cb5"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span><span class="va">m</span><span class="op">$</span><span class="va">predictions</span><span class="op">)</span>
<span class="co">#> # A tibble: 6 x 2</span>
<span class="co">#> knn rpart</span>
<span class="co">#> <chr> <chr></span>
<span class="co">#> 1 Yes Yes </span>
<span class="co">#> 2 No Yes </span>
<span class="co">#> 3 No No </span>
<span class="co">#> 4 No Yes </span>
<span class="co">#> 5 No No </span>
<span class="co">#> 6 Yes Yes</span></code></pre></div>
<ul>
<li><strong>multi_model_2</strong></li>
</ul>
<p>This is similar to <code>multi_model_1</code> with one difference: it does not use metrics such as RMSE, accuracy and the like. This function is useful if one would like to fit and predict “simpler models” like generalized linear models or linear models. Let’s take a look:</p>
<div class="sourceCode" id="cb6"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="co"># fit a linear model and get predictions</span>
<span class="va">lin_model</span> <span class="op"><-</span> <span class="fu"><a href="reference/multi_model_2.html">multi_model_2</a></span><span class="op">(</span><span class="va">mtcars</span><span class="op">[</span><span class="fl">1</span><span class="op">:</span><span class="fl">16</span>,<span class="op">]</span>,<span class="va">mtcars</span><span class="op">[</span><span class="fl">17</span><span class="op">:</span><span class="fl">32</span>,<span class="op">]</span>,<span class="st">"mpg"</span>,<span class="st">"wt"</span>,<span class="st">"lm"</span><span class="op">)</span>
<span class="va">lin_model</span><span class="op">[</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"predicted"</span>, <span class="st">"mpg"</span><span class="op">)</span><span class="op">]</span>
<span class="co">#> predicted mpg</span>
<span class="co">#> Mazda RX4 10.17314 21.0</span>
<span class="co">#> Mazda RX4 Wag 24.32264 21.0</span>
<span class="co">#> Datsun 710 26.95458 22.8</span>
<span class="co">#> Hornet 4 Drive 25.96479 21.4</span>
<span class="co">#> Hornet Sportabout 23.13039 18.7</span>
<span class="co">#> Valiant 18.38390 18.1</span>
<span class="co">#> Duster 360 18.76632 14.3</span>
<span class="co">#> Merc 240D 16.94420 24.4</span>
<span class="co">#> Merc 230 16.92171 22.8</span>
<span class="co">#> Merc 280 25.51488 19.2</span>
<span class="co">#> Merc 280C 24.59258 17.8</span>
<span class="co">#> Merc 450SE 27.41348 16.4</span>
<span class="co">#> Merc 450SL 19.95856 17.3</span>
<span class="co">#> Merc 450SLC 21.75818 15.2</span>
<span class="co">#> Cadillac Fleetwood 18.15895 10.4</span>
<span class="co">#> Lincoln Continental 21.71319 10.4</span></code></pre></div>
<p>From the above, we see that <code>wt</code> alone may not be a great predictor for <code>mpg</code>. We can fit a multi-linear model with other predictors. Let’s say <code>disp</code> and <code>drat</code> are important too, then we add those to the model.</p>
<div class="sourceCode" id="cb7"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="va">multi_lin</span> <span class="op"><-</span> <span class="fu"><a href="reference/multi_model_2.html">multi_model_2</a></span><span class="op">(</span><span class="va">mtcars</span><span class="op">[</span><span class="fl">1</span><span class="op">:</span><span class="fl">16</span>, <span class="op">]</span>, <span class="va">mtcars</span><span class="op">[</span><span class="fl">17</span><span class="op">:</span><span class="fl">32</span>,<span class="op">]</span>,<span class="st">"mpg"</span>, <span class="st">"wt + disp + drat"</span>,<span class="st">"lm"</span><span class="op">)</span>
<span class="va">multi_lin</span><span class="op">[</span>,<span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"predicted"</span>, <span class="st">"mpg"</span><span class="op">)</span><span class="op">]</span>
<span class="co">#> predicted mpg</span>
<span class="co">#> Mazda RX4 10.43041 21.0</span>
<span class="co">#> Mazda RX4 Wag 24.39765 21.0</span>
<span class="co">#> Datsun 710 25.56629 22.8</span>
<span class="co">#> Hornet 4 Drive 25.38957 21.4</span>
<span class="co">#> Hornet Sportabout 23.15234 18.7</span>
<span class="co">#> Valiant 17.36908 18.1</span>
<span class="co">#> Duster 360 17.67102 14.3</span>
<span class="co">#> Merc 240D 15.59802 24.4</span>
<span class="co">#> Merc 230 14.96161 22.8</span>
<span class="co">#> Merc 280 25.05592 19.2</span>
<span class="co">#> Merc 280C 23.66222 17.8</span>
<span class="co">#> Merc 450SE 25.95326 16.4</span>
<span class="co">#> Merc 450SL 17.05637 17.3</span>
<span class="co">#> Merc 450SLC 21.97756 15.2</span>
<span class="co">#> Cadillac Fleetwood 17.22593 10.4</span>
<span class="co">#> Lincoln Continental 22.17872 10.4</span></code></pre></div>
<ul>
<li><strong><code>fit_model</code></strong></li>
</ul>
<p>This function allows us to fit any kind of model without necessarily returning predictions.</p>
<div class="sourceCode" id="cb8"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="va">lm_model</span> <span class="op"><-</span> <span class="fu"><a href="reference/fit_model.html">fit_model</a></span><span class="op">(</span><span class="va">mtcars</span>,<span class="st">"mpg"</span>,<span class="st">"wt"</span>,<span class="st">"lm"</span><span class="op">)</span>
<span class="va">lm_model</span>
<span class="co">#> </span>
<span class="co">#> Call:</span>
<span class="co">#> lm(formula = mpg ~ wt, data = use_df)</span>
<span class="co">#> </span>
<span class="co">#> Coefficients:</span>
<span class="co">#> (Intercept) wt </span>
<span class="co">#> 37.285 -5.344</span></code></pre></div>
<ul>
<li><code>fit_models</code></li>
</ul>
<p>This is similar to <code>fit_model</code> with the ability to fit many models with many predictors at once. A simple linear model for instance:</p>
<div class="sourceCode" id="cb9"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="va">models</span><span class="op"><-</span><span class="fu"><a href="reference/fit_models.html">fit_models</a></span><span class="op">(</span>df<span class="op">=</span><span class="va">yields</span>,yname<span class="op">=</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"height"</span>, <span class="st">"weight"</span><span class="op">)</span>,xname<span class="op">=</span><span class="st">"yield"</span>,
modeltype<span class="op">=</span><span class="st">"glm"</span><span class="op">)</span> </code></pre></div>
<p>One can then use these models as one may wish. To add residuals from these models for example:</p>
<div class="sourceCode" id="cb10"><pre class="downlit sourceCode r">
<code class="sourceCode R">
<span class="va">res_residuals</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html">lapply</a></span><span class="op">(</span><span class="va">models</span><span class="op">[[</span><span class="fl">1</span><span class="op">]</span><span class="op">]</span>, <span class="va">add_model_residuals</span>,<span class="va">yields</span><span class="op">)</span>
<span class="va">res_predictions</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/lapply.html">lapply</a></span><span class="op">(</span><span class="va">models</span><span class="op">[[</span><span class="fl">1</span><span class="op">]</span><span class="op">]</span>, <span class="va">add_model_predictions</span>, <span class="va">yields</span>, <span class="va">yields</span><span class="op">)</span>
<span class="co"># Get height predictions for the model height ~ yield </span>
<span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span><span class="va">res_predictions</span><span class="op">[[</span><span class="fl">1</span><span class="op">]</span><span class="op">]</span><span class="op">)</span>
<span class="co">#> normal height weight yield predicted</span>
<span class="co">#> 1 Yes 0.2849090 0.13442312 520.2837 0.5028866</span>
<span class="co">#> 2 No 0.2427826 0.37484971 504.4754 0.4943626</span>
<span class="co">#> 3 Yes 0.2579432 0.47134828 515.6463 0.5003860</span>
<span class="co">#> 4 No 0.5175604 0.50143592 522.2247 0.5039331</span>
<span class="co">#> 5 Yes 0.4026023 0.47171755 502.6406 0.4933732</span>
<span class="co">#> 6 No 0.9789886 0.04191937 509.4663 0.4970537</span></code></pre></div>
<p>If one would like to drop non-numeric columns from the analysis, one can set <code>drop_non_numeric</code> to <code>TRUE</code> as follows. The same can be done for <code>fit_model</code> above:</p>
<div class="sourceCode" id="cb11"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="reference/fit_models.html">fit_models</a></span><span class="op">(</span>df<span class="op">=</span><span class="va">yields</span>,yname<span class="op">=</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"height"</span>,<span class="st">"weight"</span><span class="op">)</span>,
xname<span class="op">=</span><span class="st">"."</span>,modeltype<span class="op">=</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"lm"</span>,<span class="st">"glm"</span><span class="op">)</span>, drop_non_numeric <span class="op">=</span> <span class="cn">TRUE</span><span class="op">)</span>
<span class="co">#> [[1]]</span>
<span class="co">#> [[1]][[1]]</span>
<span class="co">#> </span>
<span class="co">#> Call:</span>
<span class="co">#> lm(formula = height ~ ., data = use_df)</span>
<span class="co">#> </span>
<span class="co">#> Coefficients:</span>
<span class="co">#> (Intercept) weight yield </span>
<span class="co">#> 0.2176942 -0.2185572 0.0006712 </span>
<span class="co">#> </span>
<span class="co">#> </span>
<span class="co">#> [[1]][[2]]</span>
<span class="co">#> </span>
<span class="co">#> Call:</span>
<span class="co">#> lm(formula = weight ~ ., data = use_df)</span>
<span class="co">#> </span>
<span class="co">#> Coefficients:</span>
<span class="co">#> (Intercept) height yield </span>
<span class="co">#> 0.0112753 -0.1463926 0.0006827 </span>
<span class="co">#> </span>
<span class="co">#> </span>
<span class="co">#> </span>
<span class="co">#> [[2]]</span>
<span class="co">#> [[2]][[1]]</span>
<span class="co">#> </span>
<span class="co">#> Call: glm(formula = height ~ ., data = use_df)</span>
<span class="co">#> </span>
<span class="co">#> Coefficients:</span>
<span class="co">#> (Intercept) weight yield </span>
<span class="co">#> 0.2176942 -0.2185572 0.0006712 </span>
<span class="co">#> </span>
<span class="co">#> Degrees of Freedom: 999 Total (i.e. Null); 997 Residual</span>
<span class="co">#> Null Deviance: 45.82 </span>
<span class="co">#> Residual Deviance: 44.32 AIC: -270.3</span>
<span class="co">#> </span>
<span class="co">#> [[2]][[2]]</span>
<span class="co">#> </span>
<span class="co">#> Call: glm(formula = weight ~ ., data = use_df)</span>
<span class="co">#> </span>
<span class="co">#> Coefficients:</span>
<span class="co">#> (Intercept) height yield </span>
<span class="co">#> 0.0112753 -0.1463926 0.0006827 </span>
<span class="co">#> </span>
<span class="co">#> Degrees of Freedom: 999 Total (i.e. Null); 997 Residual</span>
<span class="co">#> Null Deviance: 30.7 </span>
<span class="co">#> Residual Deviance: 29.69 AIC: -671.1</span></code></pre></div>
</div>
<div id="extraction-of-model-information" class="section level2">
<h2 class="hasAnchor">
<a href="#extraction-of-model-information" class="anchor"></a>Extraction of Model Information</h2>
<p>To extract information about a given model, we can use <code>extract_model_info</code> as follows.</p>
<div class="sourceCode" id="cb12"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="reference/extract_model_info.html">extract_model_info</a></span><span class="op">(</span><span class="va">lm_model</span>, <span class="st">"r2"</span><span class="op">)</span>
<span class="co">#> [1] 0.7528328</span></code></pre></div>
<p>To extract the adjusted R squared:</p>
<div class="sourceCode" id="cb13"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="reference/extract_model_info.html">extract_model_info</a></span><span class="op">(</span><span class="va">lm_model</span>, <span class="st">"adj_r2"</span><span class="op">)</span>
<span class="co">#> [1] 0.7445939</span></code></pre></div>
<p>For the p value:</p>
<div class="sourceCode" id="cb14"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="reference/extract_model_info.html">extract_model_info</a></span><span class="op">(</span><span class="va">lm_model</span>, <span class="st">"p_value"</span><span class="op">)</span>
<span class="co">#> (Intercept) wt </span>
<span class="co">#> 8.241799e-19 1.293959e-10</span></code></pre></div>
<p>To extract multiple attributes:</p>
<div class="sourceCode" id="cb15"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="reference/extract_model_info.html">extract_model_info</a></span><span class="op">(</span><span class="va">lm_model</span>,<span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"p_value"</span>,<span class="st">"response"</span>,<span class="st">"call"</span>,<span class="st">"predictors"</span><span class="op">)</span><span class="op">)</span>
<span class="co">#> $p_value</span>
<span class="co">#> (Intercept) wt </span>
<span class="co">#> 8.241799e-19 1.293959e-10 </span>
<span class="co">#> </span>
<span class="co">#> $response</span>
<span class="co">#> [1] "mpg"</span>
<span class="co">#> </span>
<span class="co">#> $call</span>
<span class="co">#> lm(formula = mpg ~ wt, data = use_df)</span>
<span class="co">#> </span>
<span class="co">#> $predictors</span>
<span class="co">#> [1] "wt"</span></code></pre></div>
<p>This is not restricted to linear models but will work for most model types. See <code><a href="reference/extract_model_info.html">help(extract_model_info)</a></code> to see currently supported model types.</p>
</div>
<div id="correlations" class="section level2">
<h2 class="hasAnchor">
<a href="#correlations" class="anchor"></a>Correlations</h2>
<ul>
<li><code>get_var_corr</code></li>
</ul>
<p>As can probably(hopefully) be guessed from the name, this provides a convenient way to get variable correlations. It enables one to get correlation between one variable and all other variables in the data set.</p>
<p><strong>Previously, one would set <code>get_all</code> to <code>TRUE</code> if they wanted to get correlations between all variables. This argument has been dropped in favor of simply supplying an optional <code>other_vars</code> vector if one does not want to get all correlations.</strong></p>
<p>Sample usage:</p>
<div class="sourceCode" id="cb16"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="co"># getall correlations</span>
<span class="co"># default pearson</span>
<span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span> <span class="va">corrs</span> <span class="op"><-</span> <span class="fu"><a href="reference/get_var_corr.html">get_var_corr</a></span><span class="op">(</span><span class="va">mtcars</span>,comparison_var<span class="op">=</span><span class="st">"mpg"</span><span class="op">)</span> <span class="op">)</span>
<span class="co">#> comparison_var other_var p.value correlation lower_ci upper_ci</span>
<span class="co">#> 1 mpg cyl 6.112687e-10 -0.8521620 -0.92576936 -0.7163171</span>
<span class="co">#> 2 mpg disp 9.380327e-10 -0.8475514 -0.92335937 -0.7081376</span>
<span class="co">#> 3 mpg hp 1.787835e-07 -0.7761684 -0.88526861 -0.5860994</span>
<span class="co">#> 4 mpg drat 1.776240e-05 0.6811719 0.43604838 0.8322010</span>
<span class="co">#> 5 mpg wt 1.293959e-10 -0.8676594 -0.93382641 -0.7440872</span>
<span class="co">#> 6 mpg qsec 1.708199e-02 0.4186840 0.08195487 0.6696186</span></code></pre></div>
<p><strong>Previously, one would also set <code>drop_columns</code> to <code>TRUE</code> if they wanted to drop factor columns.</strong> Now, a user simply provides a character vector specifying which column types(classes) should be dropped. It defaults to <code>c("character","factor")</code>.</p>
<div class="sourceCode" id="cb17"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="co"># purely demonstrative</span>
<span class="fu"><a href="reference/get_var_corr.html">get_var_corr</a></span><span class="op">(</span><span class="va">yields</span>,<span class="st">"height"</span>,other_vars<span class="op">=</span><span class="st">"weight"</span>,
drop_columns<span class="op">=</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"factor"</span>,<span class="st">"character"</span><span class="op">)</span>,method<span class="op">=</span><span class="st">"spearman"</span>,
exact<span class="op">=</span><span class="cn">FALSE</span><span class="op">)</span>
<span class="co">#> Warning in get_var_corr.data.frame(yields, "height", other_vars = "weight", :</span>
<span class="co">#> Columns with classes in drop_columns have been discarded. You can disable this</span>
<span class="co">#> yourself by setting drop_columns to NULL.</span>
<span class="co">#> comparison_var other_var p.value correlation</span>
<span class="co">#> 1 height weight 4.204642e-07 -0.1591719</span></code></pre></div>
<p>Similarly, <code>get_var_corr_</code> (note the underscore at the end) provides a convenient way to get combination-wise correlations.</p>
<div class="sourceCode" id="cb18"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span><span class="fu"><a href="reference/get_var_corr_.html">get_var_corr_</a></span><span class="op">(</span><span class="va">yields</span><span class="op">)</span>,<span class="fl">6</span><span class="op">)</span>
<span class="co">#> Warning in get_var_corr_.data.frame(yields): Columns with classes in</span>
<span class="co">#> drop_columns were dropped.</span>
<span class="co">#> comparison_var other_var p.value correlation lower_ci upper_ci</span>
<span class="co">#> 1 height weight 1.470866e-08 -0.17793196 -0.23730741 -0.11723201</span>
<span class="co">#> 2 height yield 4.473683e-01 0.02405390 -0.03799584 0.08591886</span>
<span class="co">#> 3 weight yield 2.986171e-01 0.03290108 -0.02915146 0.09470100</span></code></pre></div>
<p>To use only a subset of the data, we can use provide a list of columns to <code>subset_cols</code>. By default, the first value(vector) in the list is mapped to <code>comparison_var</code> and the other to <code>other_Var</code>. The list is therefore of length 2.</p>
<div class="sourceCode" id="cb19"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span><span class="fu"><a href="reference/get_var_corr_.html">get_var_corr_</a></span><span class="op">(</span><span class="va">mtcars</span>,subset_cols<span class="op">=</span><span class="fu"><a href="https://rdrr.io/r/base/list.html">list</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"mpg"</span>,<span class="st">"vs"</span><span class="op">)</span>,<span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"disp"</span>,<span class="st">"wt"</span><span class="op">)</span><span class="op">)</span>,
method<span class="op">=</span><span class="st">"spearman"</span>,exact<span class="op">=</span><span class="cn">FALSE</span><span class="op">)</span><span class="op">)</span>
<span class="co">#> comparison_var other_var p.value correlation</span>
<span class="co">#> 2 mpg disp 6.370336e-13 -0.9088824</span>
<span class="co">#> 5 mpg wt 1.487595e-11 -0.8864220</span></code></pre></div>
<ul>
<li><code>plot_corr</code></li>
</ul>
<p>Obtaining correlations would mostly likely benefit from some form of visualization. <code>plot_corr</code> aims to achieve just that. There are currently two plot styles, <code>squares</code> and <code>circles</code>. <code>circles</code> has a <code>shape</code> argument that can allow for more flexibility. It should be noted that the correlation matrix supplied to this function is an object produced by <code>get_var_corr_</code>.</p>
<p>To modify the plot a bit, we can choose to switch the x and y values as shown below.</p>
<div class="sourceCode" id="cb20"><pre class="downlit sourceCode r">
<code class="sourceCode R">
<span class="fu"><a href="reference/plot_corr.html">plot_corr</a></span><span class="op">(</span><span class="va">mtcars</span>,show_which <span class="op">=</span> <span class="st">"corr"</span>,
round_which <span class="op">=</span> <span class="st">"correlation"</span>,decimals <span class="op">=</span> <span class="fl">2</span>,x<span class="op">=</span><span class="st">"other_var"</span>, y<span class="op">=</span><span class="st">"comparison_var"</span>,plot_style <span class="op">=</span> <span class="st">"squares"</span>
,width <span class="op">=</span> <span class="fl">1.1</span>,custom_cols <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"green"</span>,<span class="st">"blue"</span>,<span class="st">"red"</span><span class="op">)</span>,colour_by <span class="op">=</span> <span class="st">"correlation"</span><span class="op">)</span>
<span class="co">#> Warning in plot_corr(mtcars, show_which = "corr", round_which = "correlation", :</span>
<span class="co">#> Using colour_by for the legend title.</span></code></pre></div>
<p><img src="README_files/figure-gfm/unnamed-chunk-20-1.png"><!-- --></p>
<p>To show significance of the results instead of the correlations themselves, we can set <code>show_which</code> to “signif” as shown below. By default, significance is set to 0.05. You can override this by supplying a different <code>signif_cutoff</code>.</p>
<div class="sourceCode" id="cb21"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="co"># color by p value</span>
<span class="co"># change custom colors by supplying custom_cols</span>
<span class="co"># significance is default </span>
<span class="fu"><a href="https://rdrr.io/r/base/Random.html">set.seed</a></span><span class="op">(</span><span class="fl">233</span><span class="op">)</span>
<span class="fu"><a href="reference/plot_corr.html">plot_corr</a></span><span class="op">(</span><span class="va">mtcars</span>, x<span class="op">=</span><span class="st">"other_var"</span>, y<span class="op">=</span><span class="st">"comparison_var"</span>,plot_style <span class="op">=</span> <span class="st">"circles"</span>,show_which <span class="op">=</span> <span class="st">"signif"</span>, colour_by <span class="op">=</span> <span class="st">"p.value"</span>, <span class="fu"><a href="https://rdrr.io/r/base/sample.html">sample</a></span><span class="op">(</span><span class="fu"><a href="https://rdrr.io/r/grDevices/colors.html">colours</a></span><span class="op">(</span><span class="op">)</span>,<span class="fl">3</span><span class="op">)</span><span class="op">)</span>
<span class="co">#> Warning in plot_corr(mtcars, x = "other_var", y = "comparison_var", plot_style =</span>
<span class="co">#> "circles", : Using colour_by for the legend title.</span></code></pre></div>
<p><img src="README_files/figure-gfm/unnamed-chunk-21-1.png"><!-- --></p>
<p>To explore more options, please take a look at the documentation.</p>
</div>
<div id="extra-functions" class="section level2">
<h2 class="hasAnchor">
<a href="#extra-functions" class="anchor"></a>Extra Functions</h2>
<ul>
<li><strong><code>agg_by_group</code></strong></li>
</ul>
<p>As can be guessed from the name, this function provides an easy way to manipulate grouped data. We can for instance find the number of observations in the yields data set. The formula takes the form <code>x~y</code> where <code>y</code> is the grouping variable(in this case <code>normal</code>). One can supply a formula as shown next.</p>
<div class="sourceCode" id="cb22"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span><span class="fu"><a href="reference/agg_by_group.html">agg_by_group</a></span><span class="op">(</span><span class="va">yields</span>,<span class="va">.</span><span class="op">~</span><span class="va">normal</span>,<span class="va">length</span><span class="op">)</span><span class="op">)</span>
<span class="co">#> Grouped By[1]: normal </span>
<span class="co">#> </span>
<span class="co">#> normal height weight yield</span>
<span class="co">#> 1 No 500 500 500</span>
<span class="co">#> 2 Yes 500 500 500</span></code></pre></div>
<div class="sourceCode" id="cb23"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span><span class="fu"><a href="reference/agg_by_group.html">agg_by_group</a></span><span class="op">(</span><span class="va">mtcars</span>,<span class="va">cyl</span><span class="op">~</span><span class="va">hp</span><span class="op">+</span><span class="va">vs</span>,<span class="va">sum</span><span class="op">)</span><span class="op">)</span>
<span class="co">#> Grouped By[2]: hp vs </span>
<span class="co">#> </span>
<span class="co">#> hp vs cyl</span>
<span class="co">#> 1 91 0 4</span>
<span class="co">#> 2 110 0 12</span>
<span class="co">#> 3 150 0 16</span>
<span class="co">#> 4 175 0 22</span>
<span class="co">#> 5 180 0 24</span>
<span class="co">#> 6 205 0 8</span></code></pre></div>
<ul>
<li><code>rowdiff</code></li>
</ul>
<p>This is useful when trying to find differences between rows. The <code>direction</code> argument specifies how the subtractions are made while the <code>exclude</code> argument is used to specify classes that should be removed before calculations are made. Using <code>direction="reverse"</code> performs a subtraction akin to <code>x-(x-1)</code> where <code>x</code> is the row number.</p>
<div class="sourceCode" id="cb24"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span><span class="fu"><a href="reference/rowdiff.html">rowdiff</a></span><span class="op">(</span><span class="va">yields</span>,exclude <span class="op">=</span> <span class="st">"factor"</span>,direction <span class="op">=</span> <span class="st">"reverse"</span><span class="op">)</span><span class="op">)</span>
<span class="co">#> height weight yield</span>
<span class="co">#> 1 NA NA NA</span>
<span class="co">#> 2 -0.04212634 0.24042659 -15.808303</span>
<span class="co">#> 3 0.01516059 0.09649856 11.170825</span>
<span class="co">#> 4 0.25961718 0.03008764 6.578424</span>
<span class="co">#> 5 -0.11495811 -0.02971837 -19.584090</span>
<span class="co">#> 6 0.57638627 -0.42979818 6.825719</span></code></pre></div>
<ul>
<li><code>na_replace</code></li>
</ul>
<p>This allows the user to conveniently replace missing values. Current options are <code>ffill</code> which replaces with the next non-missing value, <code>samples</code> that samples the data and does replacement, <code>value</code> that allows one to fill <code>NA</code>s with a specific value. Other common mathematical methods like <code>min</code>, <code>max</code>,<code>get_mode</code>, <code>sd</code>, etc are no longer supported. They are now available with more flexibility in standalone <a href="https://github.com/Nelson-Gon/mde">mde</a></p>
<div class="sourceCode" id="cb25"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="fu"><a href="https://rdrr.io/r/utils/head.html">head</a></span><span class="op">(</span><span class="fu"><a href="reference/na_replace.html">na_replace</a></span><span class="op">(</span><span class="va">airquality</span>, how<span class="op">=</span><span class="st">"value"</span>, value<span class="op">=</span><span class="st">"Missing"</span><span class="op">)</span>,<span class="fl">8</span><span class="op">)</span>
<span class="co">#> Ozone Solar.R Wind Temp Month Day</span>
<span class="co">#> 1 41 190 7.4 67 5 1</span>
<span class="co">#> 2 36 118 8.0 72 5 2</span>
<span class="co">#> 3 12 149 12.6 74 5 3</span>
<span class="co">#> 4 18 313 11.5 62 5 4</span>
<span class="co">#> 5 Missing Missing 14.3 56 5 5</span>
<span class="co">#> 6 28 Missing 14.9 66 5 6</span>
<span class="co">#> 7 23 299 8.6 65 5 7</span>
<span class="co">#> 8 19 99 13.8 59 5 8</span></code></pre></div>
<ul>
<li><code>na_replace_grouped</code></li>
</ul>
<p>This provides a convenient way to replace values by group.</p>
<div class="sourceCode" id="cb26"><pre class="downlit sourceCode r">
<code class="sourceCode R"><span class="va">test_df</span> <span class="op"><-</span> <span class="fu"><a href="https://rdrr.io/r/base/data.frame.html">data.frame</a></span><span class="op">(</span>A<span class="op">=</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="cn">NA</span>,<span class="fl">1</span>,<span class="fl">2</span>,<span class="fl">3</span><span class="op">)</span>, B<span class="op">=</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="fl">1</span>,<span class="fl">5</span>,<span class="fl">6</span>,<span class="cn">NA</span><span class="op">)</span>,groups<span class="op">=</span><span class="fu"><a href="https://rdrr.io/r/base/c.html">c</a></span><span class="op">(</span><span class="st">"A"</span>,<span class="st">"A"</span>,<span class="st">"B"</span>,<span class="st">"B"</span><span class="op">)</span><span class="op">)</span>
<span class="co"># Replace NAs by group</span>
<span class="co"># replace with the next non NA by group.</span>
<span class="fu"><a href="reference/na_replace_grouped.html">na_replace_grouped</a></span><span class="op">(</span>df<span class="op">=</span><span class="va">test_df</span>,group_by_cols <span class="op">=</span> <span class="st">"groups"</span>,how<span class="op">=</span><span class="st">"ffill"</span><span class="op">)</span>
<span class="co">#> groups A B</span>
<span class="co">#> 1 A 1 1</span>
<span class="co">#> 2 A 1 5</span>
<span class="co">#> 3 B 2 6</span>
<span class="co">#> 4 B 3 6</span></code></pre></div>
<p>The use of <code>mean</code>,<code>sd</code>,etc is no longer supported. Use <a href="https://github.com/Nelson-Gon/mde">mde</a> instead which is focused on missingness.</p>
<hr>
<p><strong>Exploring Further</strong></p>
<p>The vignette has been short and therefore is non exhaustive. The best way to explore this and any package or language is to practise. For more examples, please use <code>?function_name</code> and see a few implementations of the given function.</p>
<p><strong>Reporting Issues</strong></p>
<p>If you would like to contribute, report issues or improve any of these functions, please raise a pull request at (<a href="https://github.com/Nelson-Gon/manymodelr">manymodelr</a>)</p>
<blockquote>
<p>“Programs must be written for people to read, and only incidentally for machines to execute.” - Harold Abelson (<a href="https://www.goodreads.com/quotes/tag/programming">Reference</a>)</p>
</blockquote>
<p><strong>Thank You</strong></p>
</div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<div class="links">
<h2>Links</h2>
<ul class="list-unstyled">
<li>Download from CRAN at <br><a href="https://cloud.r-project.org/package=manymodelr">https://cloud.r-project.org/package=manymodelr</a>
</li>
<li>Browse source code at <br><a href="https://github.com/Nelson-Gon/manymodelr/">https://github.com/Nelson-Gon/manymodelr/</a>
</li>
<li>Report a bug at <br><a href="https://github.com/Nelson-Gon/manymodelr/issues">https://github.com/Nelson-Gon/manymodelr/issues</a>
</li>
</ul>
</div>
<div class="license">
<h2>License</h2>
<ul class="list-unstyled">
<li><a href="https://www.r-project.org/Licenses/GPL-2">GPL-2</a></li>
</ul>
</div>
<div class="community">
<h2>Community</h2>
<ul class="list-unstyled">
<li><a href="CONTRIBUTING.html">Contributing guide</a></li>
<li><a href="CODE_OF_CONDUCT.html">Code of conduct</a></li>
</ul>
</div>
<div class="developers">
<h2>Developers</h2>
<ul class="list-unstyled">
<li>Nelson Gonzabato <br><small class="roles"> Author, maintainer </small> </li>
</ul>
</div>
</div>
</div>
<footer><div class="copyright">
<p>Developed by Nelson Gonzabato.</p>
</div>
<div class="pkgdown">
<p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
</div>
</footer>
</div>
</body>
</html>