Dear R-helpers, I am trying to extract two equations from an R code, but I am not being able to do it. The code is this:
function (x, fullin, fullout, crossover, infz = 0.953, outfz = 0.047, details = FALSE) { if (fullin < fullout || crossover < fullout || fullin < crossover) stop("It should be that: fullin > crossover > fullout.") var.dev <- x - crossover inLogOdd <- log(infz/(1 - infz)) outLogOdd <- log(outfz/(1 - outfz)) inScalar <- inLogOdd/(fullin - crossover) outScalar <- outLogOdd/(fullout - crossover) scalars <- rep(NA, length(x)) scalars[var.dev > 0] <- inScalar scalars[var.dev < 0] <- outScalar product <- scalars * var.dev fz <- exp(product)/(1 + exp(product)) if (details) { ans <- data.frame(x = x, deviations = var.dev, scalars = scalars, logOdd = product, membership = fz) } else ans <- fz ans } I would like to write the equations for fz as a function of x, fullin, fullout, and crossover. I believe the code and the math aren’t that difficult for many of you. Though as you can see, they are for me. The equations I could arrive at are the following, but I know they are wrong as their results aren’t the same as the ones derived from the code: fz = exp(log(0.953/(1 – 0.953))/(fullin - crossover)* (x - crossover))/(1+exp(log(0.953/(1 – 0.953))/(fullin - crossover)* (x - crossover))) for x > crossover and fz = exp(log(0.047/(1 – 0.047))/(fullout - crossover)* (x - crossover))/(1+exp(log(0.047/(1 – 0.047))/( fullout - crossover)* (x - crossover))) for x < crossover Does anyone have any ideas about the right equations? Thank you, Tiago -- View this message in context: http://r.789695.n4.nabble.com/Extracting-equation-from-R-code-tp3914247p3914247.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.