Thanks to all of you for your answers, The situation I was dangerously trying to cope with was an incomplete life table, with incomplete ages and incomplete survivors. This is the table I want to complete using a Gompertz function to estimate mortality at high ages:
age lx 1 75 53803 2 80 37441 3 85 21134 This is the function I wrote (I warn you, this is not meant for programmer's eyes): gompertz.estimates <- function(age, surv){ n <- age[length(age)] - age[length(age) - 1] ly2n <- surv[length(surv)] lyn <- surv[length(surv) - 1] ly <- surv[length(surv) - 2] y <- age[length(age) - 2] lastage <- age[length(age)] # list(n =n, ly2n = ly2n, lyn = lyn, # ly = ly, y = y, lastage = lastage) OK b <- (log(ly2n / lyn) / log(lyn / ly)) ** (1 / n) a <- exp(log(lyn / ly) / ((b ** y) * (b ** n - 1))) C <- ly * exp(-(b ** y) * log(a)) equation <- function(d) C * (a ** (b ** d)) # return(equation(c(90,95,100,105,110))) OK ageseq <- seq(lastage + n, lastage + (20 * n), by=n) l.est <- equation(ageseq[1]) newl.est <- 1 i <- 1 while(newl.est >= 0.5){ newl.est <- equation(ageseq[i]) l.est <- c(l.est, newl.est) i <- i + 1 } app.age <- ageseq[1:length(l.est)] list(app.age = app.age, l.est = round(l.est, digits=0)) } The components in the list are the things I would like to add to the columns in my incomplete life table. If this is too dangerous (quaint etc.), I will not do it that way. If you can recommend me more elegant ways to do what I wanted, I will be grateful and promise never ever to post this kind of functions on this list ;-) Regards, Tobias ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help