Please pardon the simplicity of this question of biological nature. I'm trying to calculate a statistic, px, the proportion of a cohort that survives through the interval x:x+1. I have the vector from which the calc is to be made but I can't figure out how to tell R to take the current value and divide it by the next value.
The formula is P0=L1/LO The following is an example of the lifetable I'm constructing: example=as.vector(c(8,2,1,5,6,7,7,0,8,10,13,8,11,11,11,2,7,1,5,6,8,6)) #prime k=1 #Deaths# deaths=numeric(k) for(k in 0:max(example)) { deaths[k]=sum(example==k)} #adjust for no zero!!# deaths=c(0,deaths) #Alive, Kx# alive=sum(deaths)-cumsum(deaths) #Day, or age class,x# day=seq(from=0,to=length(deaths)-1) #mortality, lx# lx=alive/sum(deaths) #proportion surviving to next interval, px# #####Here's where I'm having trouble!!### p=1 px=numeric(p) for(p in 0:length(lx)) { px[p]=lx/lx} #create data frame# iC=data.frame("x"=day,"Kx"=alive,"Dx"=deaths,"Lx"=lx,"Px"=px) print(iC) Thanks for any suggestions! ______________________________________________ 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.