
Computing the Doses for a given independent variable, Model and Samples
Source:R/Model-methods.R
dose.Rd
A function that computes the dose reaching a specific target value of a given variable that dose depends on. The meaning of this variable depends on the type of the model. For instance, for single agent dose escalation model or pseudo DLE (dose-limiting events)/toxicity model, this variable represents the a probability of the occurrence of a DLE. For efficacy models, it represents expected efficacy. The doses are computed based on the samples of the model parameters (samples).
Usage
dose(x, model, samples, ...)
# S4 method for class 'numeric,LogisticNormal,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticLogNormal,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticLogNormalOrdinal,Samples'
dose(x, model, samples, grade)
# S4 method for class 'numeric,LogisticLogNormalSub,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,ProbitLogNormal,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,ProbitLogNormalRel,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticLogNormalGrouped,Samples'
dose(x, model, samples, group)
# S4 method for class 'numeric,LogisticKadane,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticKadaneBetaGamma,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticNormalMixture,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticNormalFixedMixture,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticLogNormalMixture,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,DualEndpoint,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticIndepBeta,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,LogisticIndepBeta,missing'
dose(x, model)
# S4 method for class 'numeric,Effloglog,missing'
dose(x, model)
# S4 method for class 'numeric,EffFlexi,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,OneParLogNormalPrior,Samples'
dose(x, model, samples)
# S4 method for class 'numeric,OneParExpPrior,Samples'
dose(x, model, samples)
Arguments
- x
(
proportion
ornumeric
)
a value of an independent variable on which dose depends. The following recycling rule applies whensamples
is not missing: vectors of size 1 will be recycled to the size of the sample (i.e.size(samples)
). Otherwise,x
must have the same size as the sample.- model
(
GeneralModel
orModelPseudo
)
the model.- samples
(
Samples
)
the samples of model's parameters that will be used to compute the resulting doses. Can also be missing for some models.- ...
model specific parameters when
samples
are not used.- grade
(
integer
)
The toxicity grade for which probabilities are required- group
(
character
orfactor
)
forLogisticLogNormalGrouped
, indicating whether to calculate the dose for themono
or for thecombo
arm.
Value
A number
or numeric
vector with the doses.
If non-scalar samples
were used, then every element in the returned vector
corresponds to one element of a sample. Hence, in this case, the output
vector is of the same length as the sample vector. If scalar samples
were
used or no samples
were used, e.g. for pseudo DLE/toxicity model
,
then the output is of the same length as the length of the prob
.
Details
The dose()
function computes the doses corresponding to a value of
a given independent variable, using samples of the model parameter(s).
If you work with multivariate model parameters, then assume that your model
specific dose()
method receives a samples matrix where the rows
correspond to the sampling index, i.e. the layout is then
nSamples x dimParameter
.
Functions
dose(x = numeric, model = LogisticNormal, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = LogisticLogNormal, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).-
dose(x = numeric, model = LogisticLogNormalOrdinal, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).In the case of a
LogisticLogNormalOrdinal
model,dose
returns only the probability of toxicity at the given grade or higher dose(x = numeric, model = LogisticLogNormalSub, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = ProbitLogNormal, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = ProbitLogNormalRel, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = LogisticLogNormalGrouped, samples = Samples)
: method forLogisticLogNormalGrouped
which needsgroup
argument in addition.dose(x = numeric, model = LogisticKadane, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = LogisticKadaneBetaGamma, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = LogisticNormalMixture, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = LogisticNormalFixedMixture, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = LogisticLogNormalMixture, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = DualEndpoint, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = LogisticIndepBeta, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
).dose(x = numeric, model = LogisticIndepBeta, samples = missing)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
). All model parameters (exceptx
) should be present in themodel
object.dose(x = numeric, model = Effloglog, samples = missing)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
). All model parameters (exceptx
) should be present in themodel
object.dose(x = numeric, model = EffFlexi, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLE (x
). For this methodx
must be a scalar.dose(x = numeric, model = OneParLogNormalPrior, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLT (x
).dose(x = numeric, model = OneParExpPrior, samples = Samples)
: compute the dose level reaching a specific target probability of the occurrence of a DLT (x
).
Note
The dose()
and prob()
methods are the inverse of each other, for
all dose()
methods for which its first argument, i.e. a given independent
variable that dose depends on, represents toxicity probability.
Examples
# Create some data.
my_data <- Data(
x = c(0.1, 0.5, 1.5, 3, 6, 10, 10, 10),
y = c(0, 0, 0, 0, 0, 0, 1, 0),
cohort = c(0, 1, 2, 3, 4, 5, 5, 5),
doseGrid = c(0.1, 0.5, 1.5, 3, 6, seq(from = 10, to = 80, by = 2))
)
#> Used default patient IDs!
# Initialize a model, e.g. 'LogisticLogNormal'.
my_model <- LogisticLogNormal(
mean = c(-0.85, 1),
cov = matrix(c(1, -0.5, -0.5, 1), nrow = 2),
ref_dose = 56
)
# Get samples from posterior.
my_options <- McmcOptions(burnin = 100, step = 2, samples = 20)
my_samples <- mcmc(data = my_data, model = my_model, options = my_options)
# Posterior for the dose achieving Prob(DLT) = 0.45.
dose(x = 0.45, model = my_model, samples = my_samples)
#> [1] 40.493866 40.493866 7.512803 12.792543 18.504052 26.719103 21.527861
#> [8] 21.527861 36.939326 36.893146 25.383489 53.057645 53.057645 53.057645
#> [15] 53.057645 53.057645 53.057645 61.390126 61.390126 61.390126
# Create data from the 'Data' (or 'DataDual') class.
dlt_data <- Data(
x = c(25, 50, 25, 50, 75, 300, 250, 150),
y = c(0, 0, 0, 0, 0, 1, 1, 0),
doseGrid = seq(from = 25, to = 300, by = 25)
)
#> Used default patient IDs!
#> Used best guess cohort indices!
# Initialize a toxicity model using 'LogisticIndepBeta' model.
dlt_model <- LogisticIndepBeta(
binDLE = c(1.05, 1.8),
DLEweights = c(3, 3),
DLEdose = c(25, 300),
data = dlt_data
)
# Get samples from posterior.
dlt_sample <- mcmc(data = dlt_data, model = dlt_model, options = my_options)
# Posterior for the dose achieving Prob(DLT) = 0.45.
dose(x = 0.45, model = dlt_model, samples = dlt_sample)
#> [1] 5.394717e+07 2.079593e-131 2.079593e-131 2.079593e-131 2.079593e-131
#> [6] 2.103099e+01 2.103099e+01 1.875484e+02 3.718879e+01 3.718879e+01
#> [11] 3.718879e+01 3.718879e+01 3.718879e+01 3.718879e+01 3.718879e+01
#> [16] 3.718879e+01 3.718879e+01 3.718879e+01 3.718879e+01 6.519215e+01
dose(x = c(0.45, 0.6), model = dlt_model)
#> [1] 144.6624 247.7348
data_ordinal <- .DefaultDataOrdinal()
model <- .DefaultLogisticLogNormalOrdinal()
options <- .DefaultMcmcOptions()
samples <- mcmc(data_ordinal, model, options)
#> Warning: Unused variable "y" in data
dose(0.25, model, samples, grade = 2L)
#> [1] 73.66230 69.26277 57.59442 1704.54535 68.37459
#> [6] 72.49957 93.01406 68.42297 56.50985 71.65370
#> [11] 236.50583 58.02286 85.03834 124.68054 62.67019
#> [16] 59.22934 83.91917 56.76817 72.00571 84.45083
#> [21] 51.07953 90.33918 78.38532 126.59324 78.63263
#> [26] 65.13993 220.47526 55.86311 95.05210 71.45512
#> [31] 56.97830 69.63138 60.60269 81.14534 137.50123
#> [36] 57.70894 82.30123 510.69889 60.07097 57.10846
#> [41] 114.40048 64.07634 62.73175 57.83157 59.55051
#> [46] 63.71861 66.07862 70.98497 55.16552 81.71818
#> [51] 55.31332 48.87363 56.64099 64.21779 60.63302
#> [56] 88.29682 68.86609 90.30877 77.70827 60.63826
#> [61] 56.60644 3348.92475 104.78654 77.96074 87.71052
#> [66] 192.16169 56.15453 326.23192 257.32668 58.99669
#> [71] 58.90379 66.25331 66.06290 67.60811 92.70238
#> [76] 89.11290 60.56974 213.11583 52.86751 66.40387
#> [81] 60.81547 85.95668 316.74803 69.86720 55.90505
#> [86] 73.06936 56.94708 229.59636 82.80834 150.70727
#> [91] 71.22524 55.18455 69.06112 95.09190 56.62639
#> [96] 59.89266 151.12009 157.88905 164.02769 83.03914
#> [101] 56.98886 223.17481 117.18259 233.30130 70.76530
#> [106] 64.21175 54.91049 66.59958 65.16131 98.28926
#> [111] 61.76182 115.86646 82.67969 55.25337 61.02278
#> [116] 90.69566 64.60395 61.10110 70.84422 169.91412
#> [121] 125.67825 105.42267 59.32554 134.75350 115.66464
#> [126] 87.39917 60.77381 58.95959 79.68716 68.37905
#> [131] 67.47516 74.69404 105.71430 466.04187 493.30903
#> [136] 184.76111 114.25383 56.10753 101.91046 166.40944
#> [141] 91.99249 55.96758 233.07314 64.71913 59.43801
#> [146] 60.22698 66.85596 71.55594 52.08734 89.32950
#> [151] 61.90924 65.08408 66.32021 77.00142 69.39533
#> [156] 96.48256 64.45940 60.09359 352.41319 71.17260
#> [161] 106.98586 90.30308 34.35364 60.71151 55.30000
#> [166] 101.73137 67.81308 65.94731 89.00445 66.47955
#> [171] 54.38406 118.05578 57.84685 61.08405 69.18871
#> [176] 433.27363 54.78052 65.26440 65.18460 63.16588
#> [181] 58.62861 56.35566 82.63933 56.71769 66.13502
#> [186] 91.90259 184.19647 72.06477 2712.38833 259.40090
#> [191] 70.01057 73.23670 269.08685 56.37168 67.76700
#> [196] 119.31634 57.42933 62.03615 57.64953 75.50439
#> [201] 63.83885 64.45479 96.16514 99.89426 83.92075
#> [206] 65.75495 65.25733 60.10781 80.54901 74.46646
#> [211] 59.08171 79.31018 50.45503 61.29202 61.26706
#> [216] 684.10048 125588.97078 54.86099 72.69125 61.15184
#> [221] 53.04566 71.68558 61.06284 71.54624 55.77658
#> [226] 62.20153 60.50178 62.64950 67.10352 312.91555
#> [231] 85.85958 77.65476 75.06240 64.25381 87.91142
#> [236] 81.98799 79.49371 65.62862 63.83726 62.20223
#> [241] 59.45575 55.26435 134.93755 78.65843 56.31494
#> [246] 85.72197 79.74544 61.78465 76.05769 53.61656
#> [251] 61.31529 59.46037 66.57263 541.88060 53.48825
#> [256] 58.22751 88.21486 74.07987 59.07920 62.49947
#> [261] 74.04982 100.48804 77.79006 124.14566 85.04816
#> [266] 112.32775 61.28987 65.15541 57.32175 69.69784
#> [271] 96.27825 60.53126 65.22544 66.26503 66.18753
#> [276] 76.95749 110.34424 61.96223 66.75781 136.85564
#> [281] 68.52302 66.78708 63.27885 58.19341 59.13017
#> [286] 63.75064 63.85403 56.58262 64.84515 62.67146
#> [291] 58.55530 110.67878 73.52252 119.85030 56.69375
#> [296] 69.88390 64.22673 96.97613 57.25150 57.35856
#> [301] 69.54398 67.03323 64.88836 75.87158 87.82359
#> [306] 75.42379 62.87027 60.15729 59.61207 58.02553
#> [311] 61.46639 65.57148 116.17122 58.14487 76.03824
#> [316] 56.89064 63.69498 62.18996 68.55945 147.38409
#> [321] 140.58809 62.85045 67.18886 57.41990 71.48539
#> [326] 269.35587 65.70937 62.84875 98.38187 62.53127
#> [331] 62.21631 60.83539 206.90891 58.31061 83.60993
#> [336] 57.17499 56.60213 49.85990 49.95221 70.53660
#> [341] 64.85082 67.03594 68.94721 66.04801 216.77807
#> [346] 391.20308 67.38458 458.52970 64.88908 57.33450
#> [351] 64.47459 202.83900 69.08884 59.49876 67.37488
#> [356] 124.99206 63.04376 69.14540 60.07025 59.97225
#> [361] 58.64680 56.62132 67.43088 93.62524 79.02131
#> [366] 63.49714 70.39393 60.91224 58.22117 66.84625
#> [371] 66.11343 70.59447 73.66638 62.26269 64.91867
#> [376] 65.89189 56.82182 62.94749 69.31141 58.24190
#> [381] 58.65377 99.61511 64.42957 1273.18660 275.77212
#> [386] 59.60402 73.92633 98.73915 108.69699 96.87222
#> [391] 70.58591 66.16373 56.17783 60.74806 55.17121
#> [396] 196.15881 7617.03989 367.61931 75.28948 65.01095
#> [401] 67.45162 61.32855 57.35474 59.22911 110.20813
#> [406] 68.17671 50.29656 155.88172 64.73183 62.01176
#> [411] 57.33297 63.32329 78.34419 78.54664 94.97828
#> [416] 137.29963 68.53785 87.30185 59.36019 80.82771
#> [421] 145.83431 64.95279 65.85945 56.22525 156.34437
#> [426] 144.94279 87.58744 55.84031 175.04560 76.60735
#> [431] 91.93098 61.71106 106.82275 47.07363 56.86245
#> [436] 63.32223 55.25737 61.20438 59.42152 63.10895
#> [441] 63.25584 56.69941 61.08349 69.67773 133.61421
#> [446] 50.32303 103.67574 54.34509 81.40603 52.10781
#> [451] 60.18460 76.30930 240.13688 56.06697 71.49599
#> [456] 66.90533 69.90658 63.82145 66.69280 65.73983
#> [461] 57.53825 101.51712 84.72693 59.75971 108.06856
#> [466] 54.53290 64.43021 65.71066 87.84433 90.56814
#> [471] 53.32416 64.55572 85.07332 62.34948 89.31309
#> [476] 61.83713 186.82011 57.74272 76.31666 100.22656
#> [481] 59.81524 67.46571 57.12879 58.97224 63.12918
#> [486] 235.18130 53.72897 77.92087 73.63278 65.79782
#> [491] 45.99006 88.38506 67.71518 102.56190 72.13501
#> [496] 123.81899 59.71263 55.20859 62.71620 47.03296
#> [501] 195.21747 74.04662 64.22708 56.32755 70.46578
#> [506] 66.58731 174.65387 66.33559 89.14232 57.45372
#> [511] 81.63275 67.16816 66.70249 2593.64468 62.94872
#> [516] 56.02555 59.34476 59.75908 63.47112 77.82971
#> [521] 61.97228 53.17268 355.37900 54.75835 54.56521
#> [526] 102.61184 58.81921 68.54321 60.50392 63.91485
#> [531] 69.11015 72.83952 70.11399 61.20843 57.34797
#> [536] 68.32667 60.41456 60.83553 67.64407 58.81016
#> [541] 60.44918 65.52636 96.48326 82.72745 316.82802
#> [546] 116.07789 79.40569 59.74395 61.09315 69.21221
#> [551] 78.86254 86.21891 64.49488 258.10848 82.58363
#> [556] 53.52633 71.28436 103.95103 97.75764 64.37696
#> [561] 66.43180 63.45975 61.73063 141.13243 59.47126
#> [566] 55.71237 78.73690 71.00576 59.04138 68.26574
#> [571] 63.88703 63.59623 69.24602 56.22134 60.99221
#> [576] 75.97619 75.37319 58.60052 67.92292 59.70723
#> [581] 60.22697 56.82662 73.22599 79.17320 78.11693
#> [586] 91.36390 56.17136 62.48515 139.30124 57.65474
#> [591] 57.08988 90.64164 58.69616 79.61003 87.96608
#> [596] 54.42863 87.58153 60.04713 386.42720 64.67218
#> [601] 1344.15585 105.35303 53.17148 63.85646 61.49639
#> [606] 105.55264 70.60394 328.80293 67.82127 65.40968
#> [611] 76.96335 54.53956 67.24639 68.35548 106.57456
#> [616] 274.43754 72.38917 79.64056 73.78753 137.83016
#> [621] 90.85752 68.65081 78.95017 82.86169 54.06917
#> [626] 57.64584 58.44948 57.22949 383.80301 71.84268
#> [631] 66.35483 57.35032 63.04611 85.59008 72.07504
#> [636] 47.10333 77.69493 75.15503 447180.53188 101.52143
#> [641] 77.05093 58.13227 75.78509 74.56498 58.74983
#> [646] 65.89011 83.16628 125.15412 107.13210 61.98301
#> [651] 87.82134 54.72018 62.50879 66.81358 57.39415
#> [656] 58.30040 168.25578 62.26389 55.57422 63.45121
#> [661] 70.72448 92.93597 189.44538 60.96411 171.50235
#> [666] 132.18045 192.25903 111534.46324 58.91132 57.27441
#> [671] 61.03208 62.47845 74.18122 58.22614 77.52573
#> [676] 62.59004 67.44565 59.87873 78.19023 61.76724
#> [681] 63.22311 66.39821 67.15459 162.27491 52.77743
#> [686] 62.07866 214.88586 116.43889 60.46029 266.54482
#> [691] 103.47591 166.33405 45.90229 19740.73799 56.09811
#> [696] 90.73203 73.70715 69.45934 91.10970 100.72497
#> [701] 61.25575 96.95800 56.82460 131.46449 62.97592
#> [706] 59.48042 59.23179 103.88843 61.37033 56.74065
#> [711] 80.61195 58.42525 66.36798 85.22887 60.00980
#> [716] 58.93401 1317.50295 83.99669 74.23507 103.51552
#> [721] 339.41402 3461.88351 67.40042 66.48526 90.44208
#> [726] 68.00774 65.20286 72.92188 57.00445 89.55268
#> [731] 77.53582 63.08234 70.46860 59.47465 1094.75352
#> [736] 290325.87487 55.06420 62.16590 62.69175 60.89598
#> [741] 67.72073 60.81620 88.13502 71.46510 104.02018
#> [746] 164.19494 62.50945 57.71116 61.64072 115.13178
#> [751] 55.65093 149.98887 60.40962 71.78578 61.13672
#> [756] 112.20444 32.10063 53.08265 90.15989 59.86848
#> [761] 64.74720 248.41838 86.97684 66.99691 56.79480
#> [766] 73.83534 68.59173 56.16719 72.86575 53.21174
#> [771] 179.00437 1547.99005 119.95044 172.95891 60.68146
#> [776] 69.39932 68.56010 132.04498 288.07309 62.81031
#> [781] 70.48359 192.43203 94.89130 81.89913 58.52946
#> [786] 56.74639 58.20735 74.45761 86.56999 82.30156
#> [791] 86.30369 60.89093 68.23862 77.49254 161.50348
#> [796] 81.42909 92.61300 59.97505 68.46701 554.44949
#> [801] 83.39131 76.58830 60.35380 63.48036 90.90950
#> [806] 54.20058 68.61400 139.99630 66.46338 82.95579
#> [811] 57.80437 62.41841 55.93714 60.92197 87.44683
#> [816] 62.79058 64.50641 93.95511 62.02129 60.76295
#> [821] 91.20613 997.69214 59.33081 69.99671 61.70361
#> [826] 147.70791 62.29546 60.64446 55.38301 60.64499
#> [831] 79.39925 62.86452 178.40487 56.53996 81.05218
#> [836] 63.63550 62.43104 58.23519 87.30027 81.06955
#> [841] 60.12935 58.37472 68.30636 63.16514 156.88997
#> [846] 62.32426 665.29940 63.45197 72.58775 80.83724
#> [851] 57.64544 69.73311 53.47138 64.08106 59.91950
#> [856] 60.08590 76.11023 62.05264 67.96529 72.79313
#> [861] 56.11559 63.35373 98.72450 58.73221 59.03936
#> [866] 73.10128 65.84889 125.86223 104.55941 71.88174
#> [871] 73.99823 162.34180 147.52333 52.06619 58.70678
#> [876] 61.13634 75.78282 65.40518 66.20355 60.52378
#> [881] 64.95695 50.24134 60.44630 58.36142 63.71495
#> [886] 66.04930 65.73076 188.03567 61.11172 7021.76411
#> [891] 886.12213 370.31969 68.96821 57.63396 60.11063
#> [896] 80.83049 58.80160 65.03967 104.72334 57.95784
#> [901] 95.51289 73.18359 70.46360 73.74960 68.46814
#> [906] 59.63259 64.30971 162.89408 2567.04392 67.57930
#> [911] 71.82496 58.50489 83.81590 64.81648 314.28942
#> [916] 58.28143 48.82894 59.46944 75.77824 219.20774
#> [921] 59.54940 1196.09438 54.41340 86.78721 139.42532
#> [926] 60.53653 55.81262 72.51396 68.76208 60.68540
#> [931] 70.66051 70.34233 54.57643 53.40609 68.93799
#> [936] 69.83915 53.66088 57.42238 82.76626 68.80675
#> [941] 57.82741 89.33259 62.81965 81.70339 63.34807
#> [946] 105.04055 48.63576 56.65990 66.14872 61.62150
#> [951] 65.58307 221.75893 66.20692 78.41180 66.42122
#> [956] 58.67807 61.49687 60.39617 177.81825 55.59001
#> [961] 1298.41300 81.70301 54.08650 106.70478 55.09018
#> [966] 61.03986 68.04569 60.45424 80.04277 101.29138
#> [971] 57.04234 56.27361 127.75347 65.49210 65.02804
#> [976] 67.36004 61.91943 56.62186 53.97333 67.66413
#> [981] 60.86066 61.22153 75.80496 59.59299 67.37957
#> [986] 61.10462 69.90964 126.92044 87.83838 90.72487
#> [991] 62.32689 49.10158 106.37769 58.18780 66.63488
#> [996] 71.41387 58.58332 73.58539 58.31074 57.39207