Since your code has things like this: z<-numeric(length(t (( either you have a serious problem with your email client or you need to reread some introductory material and take a hard look at your code.
Also note that g() doesn't work, because it contains the statement return(m) but m is undefined within g(). Meanwhile, you could provide what I asked: a statement of what you expect your code to produce given particular input. Otherwise how would we know if we've offered the right solution, since your function doesn't work? Using set.seed() would be a useful component of this reproducible example. Without having a working if poorly-written function to go by or a clear results statement, I'm not interested in trying to rewrite your code. But some thoughts: Here's a new version of f(). f2 <- function(c1, c2) { r <- pmax(c1 + c2, c1 + 0.5) cbind(c1, r) } It looks like you expected f() to be able to take vectors, but in g() you only return one value. Is that a mistake, or what you wanted? Since you're also using cbind(), I assume it's a mistake. Again, there are lots of problems here that suggest that you are coming from some other programming language and have not taken the time to learn much about R's syntax. This is easily remedied by reading the introduction. Sarah On Wed, May 30, 2012 at 3:32 PM, Christopher Kelvin <chris_kelvin2...@yahoo.com> wrote: > Hello Sarah, > Thank you for your response. Below is the complete code. My desire is to > obtain interval censored data through simulation to fit it on the weibull > distribution to estimate the parameters. I am actually not very sure of the > code correctness. You may try it and advice me on what to do and also about > it correctness if time will permit you. > > Thank you > > > g<-function(c1,c2) { > f<-function(c1,c2) { > u<-c1 > h<-c1+c2 > k<-c1+0.5 > r<-numeric (length(c1)) > for(i in 1:length(r)) r[i]<-max(h[i],k[i]) > return( cbind (u,r))} > r1<-f(c1,c2) > r2<-f(r1[2],r1[1]) > r3<-f(r2[2],r2[1]) > r4<-f(r3[2],r3[1]) > r5<-f(r4[2],r4[1]) > a<-(cbind(r1[1],r2[1],r3[1],r4[1],r5[1],r5[2])) > return(m )} > c1<-runif(1,0,1.5) > c2<-runif(1,0,0.5) > m<-g(c1,c2) > > tdata<-rweibull(25,0.8,1.5) > v<-c(0,m,999) > > y<-function(t,v){ > z<-numeric(length(t (( > s<-numeric(length(t (( > for(i in 1:length(t)){ > for(j in 1:length(v-1)) > { ifelse ((t[i]>v[j] & t< v[j+1] ),{z[i]<-v[j];s[i]<-v[j+1]},NA)}} > return(cbind(z,s))} > > y(t,v) > > > > > Chris Kelvin > > > > > > > > Hi, > > The error with ifelse() seems to be that you have no idea what ifelse() does. > > As far as I can tell, you tried to construct code that does something like > this: > > > y<-function(tdata,v){ > z <- rep(NA, length(tdata)) > s <- z > for(i in 1:length(tdata)) { > for(j in 1:length(v-1)) { > if(tdata[i] > v[j] & tdata[i] < v[j+1]) { > z[i]<-v[j] > s[i]<-v[j+1] > } > } > } > return(cbind(z,s)) > } > > But what's with all the (( instead of ))? > > And are you certain that the logic in the if statement is correct? > > If you tell us what you expect the results to be for given input > values, we can help with that part too. Including making this more > Rish: the nested for-loop construct is entirely unnecessary here, but > I'm disinclined to rewrite it unless I actually know what you're > trying to achieve. > > Incidentally, your example is only nearly-reproducible, since we don't > know what m is. > > Sarah > > On Wed, May 30, 2012 at 10:01 AM, Christopher Kelvin > <chris_kelvin2...@yahoo.com> wrote: >> Dear all, >> The code below is used to generate interval censored data but unfortunately >> there is an error with the ifelse which i am not able to rectify. >> Can somebody help correct it for me. >> Thank you >> >> >> t<-rexp(20,0.2) >> v<-c(0,m,999) >> >> y<-function(t,v){ >> z<-numeric(length(t (( >> s<-numeric(length(t (( >> for(i in 1:length(t)){ >> for(j in 1:length(v-1)) >> { ifelse ((t[i]>v[j] & t< v[j+1] ),{z[i]<-v[j];s[i]<-v[j+1]},NA)}} >> return(cbind(z,s))} >> >> y(t,v) >> > > -- Sarah Goslee http://www.functionaldiversity.org ______________________________________________ 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.