Learn R Programming

HelpersMG (version 4.8)

flexit: Return the flexit

Description

Return a vector with the probabilities. The flexit equation is published in: Abreu-Grobois, F.A., Morales-M<U+00E9>rida, B.A., Hart, C.E., Guillon, J.-M., Godfrey, M.H., Navarro, E. & Girondot, M. (2020) Recent advances on the estimation of the thermal reaction norm for sex ratios. PeerJ, 8, e8451. If dose < P then \((1 + (2^K1 - 1) * exp(4 * S1 * (P - x)))^(-1/K1)\) If dose > P then \(1-((1 + (2^K2 - 1) * exp(4 * S2 * (x - P)))^(-1/K2)\) with: $$S1 = S/((4/K1)*(2^(-K1))^(1/K1+1)*(2^K1-1))$$ $$S2 = S/((4/K2)*(2^(-K2))^(1/K2+1)*(2^K2-1))$$

New in version 4.7-3 and larger:

If \(2^K1\) is too large to be estimated, the approximation \(S1 = S*K1/2\) is used. If \(2^K2\) is too large to be estimated, the approximation \(S2 = S*K2/2\) is used. If \((1 + (2^K1 - 1) * exp(4 * S1 * (P - x)))^(-1/K1)\) is not finite, the following approximation is used: $$exp((-1/K1)*(K1*log(2)+(4*S1*(P-x))))$$ If \(1-((1 + (2^K2 - 1) * exp(4 * S2 * (x - P)))^(-1/K2)\) is not finite, the following approximation is used: $$1 - exp((-1/K2)*(K2*log(2)+(4*S2*(x - P))))$$

Usage

flexit(
  x,
  par = NULL,
  P = NULL,
  S = NULL,
  K1 = NULL,
  K2 = NULL,
  zero = 1e-09,
  error0 = 0,
  error1 = 1
)

Arguments

x

The values at which the flexit model must be calculated

par

The vector with P, S, K1, and K2 values

P

P value

S

S value

K1

K1 value

K2

K2 value

zero

Value to replace zero

error0

Value to return if an error is observed toward 0

error1

Value to return if an error is observed toward 1

Value

A vector with the probabilities

Details

Return the flexit value

See Also

Other logit: invlogit(), logit()

Examples

Run this code
# NOT RUN {
n <- flexit(x=1:100, par=c(P=50, S=0.001, K1=0.01, K2=0.02))
n <- flexit(x=1:100, P=50, S=0.001, K1=0.01, K2=0.02)

1/(1+exp(0.01*4*(50-1:100)))
flexit(1:100, P=50, S=0.01, K1=1, K2=1)
# }

Run the code above in your browser using DataLab