Your loop assumes p has a length of 10 but length(p) is 2.
--- Kathy Maher <[EMAIL PROTECTED]> wrote: > Hi, > > I am trying to use the Fisher scoring method with a > geometric distribution, > with p = .07, 100 observations from the geom > distrib, and 10 iterations. > I cannot quite get the code to work. > Can anyone see the mistake? > > n <- 100 > p <- 0.07 > x <- rgeom(n, p) > > s <- sum(x) > f <- function(x, p) p*(1-p)^x > L <- function(p) p^n*(1-p)^s > logL <- function(p) n*log(p)+s*(log(1-p)) > logLprime <- function(p) (n/p)-(s/(1-p)) > I <- n/p^2*(1-p) > iter <- 10 > p[1] <- .06 > p[2] <- .11 > > for (i in 1:10) > > { > pnew <- p[i]+logLprime(p[i])/I*(p[i]) > > } ______________________________________________ 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.