[R] invalid "mode" of argument optimize
voodooochild@gmx.de
voodooochild at gmx.de
Sun Jan 15 22:09:10 CET 2006
Hello everybody,
i have the following function, which i want to solve for b
i=1,..,n, and n is the length of t and t is the last element of t, if
you do cumsum() before.
(t_n*exp(-b*t_n)*sum_{i=1}^{n} f_i) / (1-exp(-b*t_n)) - (sum_{i=1}^{n}
(f_i*(t_i*exp(-b*t_i)-t_{i-1}*exp(-b*t_{i-1}))) /
(exp(-b*t_{i-1})-exp(-b*t_i)) ) = 0
i implemented this function in the following way
ll2<-function(b,f,t) {
t<-cumsum(t)
tn<-t[length(t)]
i<-seq(along=f)
s1<-tn*exp(-b*tn)*sum(f[i])
s2<-(1-exp(-b*tn))
i[length(i)+1]<-0
i<-sort(i)
f[length(f)+1]<-1
t[length(t)+1]<-0
t<-sort(t)
s3<-f[2]*(t[2]*exp(-b*t[2])-t[1]*exp(-b*t[1]))
s4<-exp(-b*t[1])-exp(-b*t[2])
i<-i[3:length(i)]
s5<-sum(f[i]*(t[i]*exp(-b*t[i])-t[i-1]*exp(-b*t[i-1])))
s6<-sum(exp(-b*t[i-1])-exp(-b*t[i]))
(s1/s2)-((s3/s4)+(s5/s6))
}
# i have the given data
f=c(1,1,1)
t=c(320,14390,9000)
# now i wanted to use optimize() to get the minimum of ll2() with the
given data
xmin<-optimize(ll2,c(0,10000),tol=0.001,f=f,t=t)
and i got always the error "invalid "mode" of argument optimize", but i
don't now what is really wrong? Or is there any mistake in my
implementation of the function?
best regards
Andreas
More information about the R-help
mailing list