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
|
<!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>Fit dose-response models — drfit • drfit</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 rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" 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="Fit dose-response models — drfit"><meta property="og:description" content="Fit dose-response relationships to dose-response data and calculate
biometric results for (eco)toxicity evaluation"><!-- 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-reference-topic">
<header><div class="navbar navbar-default 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">drfit</a>
<span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="">0.7.4</span>
</span>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav"><li>
<a href="../reference/index.html">Reference</a>
</li>
</ul><ul class="nav navbar-nav navbar-right"></ul></div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
</header><div class="row">
<div class="col-md-9 contents">
<div class="page-header">
<h1>Fit dose-response models</h1>
<div class="hidden name"><code>drfit.Rd</code></div>
</div>
<div class="ref-description">
<p>Fit dose-response relationships to dose-response data and calculate
biometric results for (eco)toxicity evaluation</p>
</div>
<div id="ref-usage">
<div class="sourceCode"><pre class="sourceCode r"><code><span><span class="fu">drfit</span><span class="op">(</span><span class="va">data</span>, startlogED50 <span class="op">=</span> <span class="cn">NA</span>, chooseone <span class="op">=</span> <span class="cn">TRUE</span>, probit <span class="op">=</span> <span class="cn">TRUE</span>, logit <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> weibull <span class="op">=</span> <span class="cn">FALSE</span>, linlogit <span class="op">=</span> <span class="cn">FALSE</span>, level <span class="op">=</span> <span class="fl">0.95</span>, linlogitWrong <span class="op">=</span> <span class="cn">NA</span>,</span>
<span> allWrong <span class="op">=</span> <span class="cn">NA</span>, ps0 <span class="op">=</span> <span class="fl">1</span>, ls0 <span class="op">=</span> <span class="fl">0.5</span>, ws0 <span class="op">=</span> <span class="fl">0.5</span>, b0 <span class="op">=</span> <span class="fl">2</span>, f0 <span class="op">=</span> <span class="fl">0</span>,</span>
<span> showED50 <span class="op">=</span> <span class="cn">FALSE</span>,</span>
<span> EDx <span class="op">=</span> <span class="cn">NULL</span>, EDx.tolerance <span class="op">=</span> <span class="fl">1e-4</span><span class="op">)</span></span></code></pre></div>
</div>
<div id="arguments">
<h2>Arguments</h2>
<dl><dt>data</dt>
<dd><p>A data frame containing dose-response data. The data frame has to contain
at least a factor called “substance”, a numeric vector “dose”
with the dose values, a vector called “unit” containing the unit
used for the dose and a numeric vector “response” with the response
values of the test system normalized between 0 and 1. Such a data frame can
be easily obtained if a compliant RODBC data source is available for use in
conjunction with the function <code><a href="drdata.html">drdata</a></code>.</p>
<p>If there is a column called “ok” and it is set to “no fit” in
a specific line, then the corresponding data point will be excluded from
the fitting procedure, although it will be plotted.</p></dd>
<dt>startlogED50</dt>
<dd><p>Especially for the linlogit model, a suitable log10 of the ED50 has to be
given by the user, since it is not correctly estimated for data showing
hormesis with the default estimation method.</p></dd>
<dt>probit</dt>
<dd><p>A boolean defining if cumulative density curves of normal distributions
<code><a href="https://rdrr.io/r/stats/Normal.html" class="external-link">pnorm</a></code> are fitted against the decadic logarithm of the dose.
Default ist TRUE.</p></dd>
<dt>logit</dt>
<dd><p>A boolean defining if cumulative density curves of logistic distributions
<code><a href="https://rdrr.io/r/stats/Logistic.html" class="external-link">plogis</a></code> are fitted to the decadic logarithm of the dose.
Default is FALSE.</p></dd>
<dt>weibull</dt>
<dd><p>A boolean defining if the cumulative density curves of weibull distributions
(<code><a href="https://rdrr.io/r/stats/Weibull.html" class="external-link">pweibull</a></code> with additionall location parameter and scale=1)
are fitted to the decadic logarithm of the dose. Default is FALSE.
Note that the weibull distribution is fitted here to the log transformed doses
which appears to be an uncommon approach.</p></dd>
<dt>linlogit</dt>
<dd><p>A boolean defining if the linear-logistic function
<code><a href="linlogitf.html">linlogitf</a></code> as defined by van Ewijk and Hoekstra 1993 is
fitted to the data. Default is FALSE.</p></dd>
<dt>level</dt>
<dd><p>The level for the confidence interval listed for the log ED50.</p></dd>
<dt>linlogitWrong</dt>
<dd><p>An optional vector containing the names of the substances for which the
linlogit function produces a wrong fit.</p></dd>
<dt>allWrong</dt>
<dd><p>An optional vector containing the names of the substances for which all
functions produce a wrong fit.</p></dd>
<dt>chooseone</dt>
<dd><p>If TRUE (default), the models are tried in the order linlogit, probit,
logit, weibull, and the first model that produces a valid fit is used.
If FALSE, all models that are set to TRUE and that can be fitted will be
reported.</p></dd>
<dt>ps0</dt>
<dd><p>If the probit model is fitted, <code>ps0</code> gives the possibility to adjust
the starting value for the scale parameter of <code><a href="https://rdrr.io/r/stats/Normal.html" class="external-link">pnorm</a></code>.</p></dd>
<dt>ls0</dt>
<dd><p>If the logit model is fitted, <code>ls0</code> gives the possibility to adjust
the starting value for the scale parameter of <code><a href="https://rdrr.io/r/stats/Logistic.html" class="external-link">plogis</a></code>.</p></dd>
<dt>ws0</dt>
<dd><p>If the weibull model is fitted, <code>ws0</code> gives the possibility to adjust
the starting value for the shape parameter of <code><a href="https://rdrr.io/r/stats/Weibull.html" class="external-link">pweibull</a></code>.</p></dd>
<dt>b0,f0</dt>
<dd><p>If the linearlogistic model is fitted, <code>b0</code> and <code>f0</code> give the
possibility to adjust the starting values for the parameters b and f.</p></dd>
<dt>showED50</dt>
<dd><p>If set to TRUE, the ED50 and its confidence interval on the original dose
scale (not log scale) is included in the output.</p></dd>
<dt>EDx</dt>
<dd><p>A vector of inhibition values x in percent for which the corresponding doses
EDx should be reported.</p></dd>
<dt>EDx.tolerance</dt>
<dd><p>Tolerance of the effect level, expressed on the response scale from 0 to 1.</p></dd>
</dl></div>
<div id="value">
<h2>Value</h2>
<p>A dataframe with the attribute <code>models</code> holding a list of the fitted
dose-response models of class <code><a href="https://rdrr.io/r/stats/nls.html" class="external-link">nls</a></code>. The dataframe has at least
one line for each substance.</p>
<p>For the “linlogit”, “logit” and “probit” models, the
parameter <code>a</code> that is reported coincides with the logED50, i.e the
logED50 is one of the model parameters that is being fitted. Therefore,
a confidence interval for the confidence level <code>level</code> is calculated
using the <code>confint.nls</code> function and listed.</p>
<p>The following variables are in the dataframe:</p>
<dl><dt>Substance</dt>
<dd><p>The name of the substance</p></dd>
<dt>ndl</dt>
<dd><p>The number of dose levels in the raw data</p></dd>
<dt>n</dt>
<dd><p>The total number of data points in the raw data used for the fit</p></dd>
<dt>lld</dt>
<dd><p>The decadic logarithm of the lowest dose</p></dd>
<dt>lhd</dt>
<dd><p>The total number of data points in the raw data used for the fit</p></dd>
<dt>mtype</dt>
<dd><p>If the data did not show a mean response < 0.5 at the highest dose level,
the modeltype is set to “inactive”. If the mean response at the
lowest dose is smaller than 0.5, the modeltype is set to “active”.
In both cases, no fitting procedure is carried out. If the fitted ED50
is higher than the highest dose, “no fit” is given here.</p></dd>
<dt>logED50</dt>
<dd><p>The decadic logarithm of the ED50</p></dd>
<dt>low %</dt>
<dd><p>The lower bound of the confidence interval of log ED50.
The name of the column depends on the requested confidence <code>level</code>.</p></dd>
<dt>high %</dt>
<dd><p>The higher bound of the confidence interval of log ED50.
The name of the column depends on the requested confidence <code>level</code>.</p></dd>
<dt>unit</dt>
<dd><p>The unit used for the dose levels in the dose-response data</p></dd>
<dt>sigma</dt>
<dd><p>The square root of the estimated variance of the random error as returned
by <code><a href="https://rdrr.io/r/stats/summary.nls.html" class="external-link">summary.nls</a></code>.</p></dd>
<dt>a</dt>
<dd><p>For the “linlogit”, “logit” and “probit” models, the
parameter <code>a</code> coincides with the logED50. In the case of the
“weibull” model, <code>a</code> is a location parameter.</p></dd>
<dt>b</dt>
<dd><p>Parameter <code>b</code> in the case of the “linlogit” fit is the variable
b from the <code><a href="linlogitf.html">linlogitf</a></code> function. In the case of “probit”
fit it is the standard deviation of the fitted normal distribution, in the
case of the “logit” fit it is the <code>scale</code> parameter in the
<code><a href="https://rdrr.io/r/stats/Logistic.html" class="external-link">plogis</a></code> function, and in the “weibull” fit it is the
<code>shape</code> parameter of the fitted <code><a href="https://rdrr.io/r/stats/Weibull.html" class="external-link">pweibull</a></code> function.</p></dd>
<dt>c</dt>
<dd><p>Only the “linlogit” fit produces a third parameter <code>c</code> which is
the variable f from the <code><a href="linlogitf.html">linlogitf</a></code> function.</p></dd>
</dl><p>If the parameter <code>showED50</code> was set to TRUE, the ED50 values and their
confidence intervals are also included on the original dose scale.</p>
<p>If one or more response leves were specified in the argument <code>EDx</code>,
the corresponding dose levels are given in addition.</p>
</div>
<div id="note">
<h2>Note</h2>
<p>There is a demo for each dataset that can be accessed by
<code>demo(dataset)</code></p>
</div>
<div id="see-also">
<h2>See also</h2>
<div class="dont-index"><p>Further examples are given in help pages to the datasets
<code><a href="antifoul.html">antifoul</a></code>, <code><a href="IM1xIPC81.html">IM1xIPC81</a></code> and
<code><a href="IM1xVibrio.html">IM1xVibrio</a></code>.
Since version 0.6.1 of this package, there is a drop-in replacement function
<code><a href="drcfit.html">drcfit</a></code> which internally uses the drc package and also gives
confidence intervals for EDx values via this package.</p></div>
</div>
<div id="author">
<h2>Author</h2>
<p>Johannes Ranke
<a href="mailto:jranke@uni-bremen.de">jranke@uni-bremen.de</a></p>
</div>
<div id="ref-examples">
<h2>Examples</h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/utils/data.html" class="external-link">data</a></span><span class="op">(</span><span class="va">antifoul</span><span class="op">)</span></span></span>
<span class="r-in"><span><span class="va">r</span> <span class="op"><-</span> <span class="fu">drfit</span><span class="op">(</span><span class="va">antifoul</span>, showED50 <span class="op">=</span> <span class="cn">TRUE</span>, EDx <span class="op">=</span> <span class="fu"><a href="https://rdrr.io/r/base/c.html" class="external-link">c</a></span><span class="op">(</span><span class="fl">5</span>, <span class="fl">10</span>, <span class="fl">20</span><span class="op">)</span><span class="op">)</span></span></span>
<span class="r-msg co"><span class="r-pr">#></span> </span>
<span class="r-msg co"><span class="r-pr">#></span> TBT: Fitting data...</span>
<span class="r-msg co"><span class="r-pr">#></span> Waiting for profiling to be done...</span>
<span class="r-msg co"><span class="r-pr">#></span> </span>
<span class="r-msg co"><span class="r-pr">#></span> Zn Pyrithion: Fitting data...</span>
<span class="r-msg co"><span class="r-pr">#></span> Waiting for profiling to be done...</span>
<span class="r-in"><span><span class="fu"><a href="https://rdrr.io/r/base/format.html" class="external-link">format</a></span><span class="op">(</span><span class="va">r</span>, digits <span class="op">=</span> <span class="fl">2</span><span class="op">)</span></span></span>
<span class="r-out co"><span class="r-pr">#></span> Substance ndl n lld lhd mtype logED50 2.5% 97.5% unit sigma a</span>
<span class="r-out co"><span class="r-pr">#></span> 1 TBT 38 135 -2.7 2.4 probit -0.16 -0.27 -0.056 microM 0.19 -0.16</span>
<span class="r-out co"><span class="r-pr">#></span> 2 Zn Pyrithion 27 81 -2.1 2.0 probit -0.40 -0.51 -0.292 microM 0.23 -0.40</span>
<span class="r-out co"><span class="r-pr">#></span> b ED50 ED50 2.5% ED50 97.5% EDx5 EDx10 EDx20</span>
<span class="r-out co"><span class="r-pr">#></span> 1 0.68 0.68 0.54 0.88 0.053 0.093 0.18</span>
<span class="r-out co"><span class="r-pr">#></span> 2 0.42 0.40 0.31 0.51 0.082 0.117 0.18</span>
</code></pre></div>
</div>
</div>
<div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
<nav id="toc" data-toggle="toc" class="sticky-top"><h2 data-toc-skip>Contents</h2>
</nav></div>
</div>
<footer><div class="copyright">
<p></p><p>Developed by Johannes Ranke.</p>
</div>
<div class="pkgdown">
<p></p><p>Site built with <a href="https://pkgdown.r-lib.org/" class="external-link">pkgdown</a> 2.0.7.</p>
</div>
</footer></div>
</body></html>
|