This looks an awful lot like you are trying to solve for d' in an m-alternative forced choice experiment for an unbiased observer. Try the function dprime.mAFC from the psyphy package. For comparison with your example, it's code is: psyphy:::dprime.mAFC function (Pc, m) { m <- as.integer(m) if (m < 2) stop("m must be an integer greater than 1") if (!is.integer(m)) stop("m must be an integer") if (Pc <= 0 || Pc >= 1) stop("Pc must be in (0,1)") est.dp <- function(dp) { pr <- function(x) dnorm(x - dp) * pnorm(x)^(m - 1) Pc - integrate(pr, lower = -Inf, upper = Inf)$value } dp.res <- uniroot(est.dp, interval = c(-10, 10)) dp.res$root } <environment: namespace:psyphy> Hope that helps, best, Ken On Sat, May 27, 2017 at 9:16 AM, Neetu Shah <nshah.0452 at gmail.com> wrote:> Dear Sir/Ma'am, > > I am trying to make a function to solve an equation that is given > below: > findH <- function(p_star, k){ > fun <- function(y){ > (pnorm(y+h))^(k-1)*dnorm(y) > } > lhs <- integrate(fun, -Inf, Inf)$value > return(uniroot(lhs, lower = -10, upper = 10, > tol = p_star)$root) > } > In lhs, I integrated a function with respect to y and there would be an > unknown h that I need to find. > I need to equate this lhs to p_star value in order to find h. Which > function should I use to solve this equation? > Please guide me regarding this. > Thank you. > > -- > With Regards, > Neetu Shah, > B.Tech.(CS), > 3rd Year, > IIIT Vadodara.-- Kenneth Knoblauch Inserm U1208 Stem-cell and Brain Research Institute 18 avenue du Doyen L?pine 69500 Bron France tel: +33 (0)4 72 91 34 77 fax: +33 (0)4 72 91 34 61 portable: +33 (0)6 84 10 64 10 http://www.sbri.fr/members/kenneth-knoblauch.html