I would suggesting using "" instead of NULL for rz, throughout this code.
(I would also suggest making sure the code can be copied into R without causing a syntax error before posting the request for help.) Bill Dunlap TIBCO Software wdunlap tibco.com On Fri, Mar 11, 2016 at 9:10 AM, Adams, Jean <jvad...@usgs.gov> wrote: > To reframe the problem ... the issue is not with the function nchar() (or > whatever), it's with the input value rz being null. I suggest you build > into the loop whatever actions/outputs you want when rz is NULL. > > for (i in 1:10){ > if (is.null(rz)) { > # do something here > } else { > if (nchar(rz)>6) { > # ... > } > if (nchar(a[i])+nchar(rz))<6) { > # ... > } > if (nchar(rz)+nchar(a[i+1]>6) { > # ... > } > } > } > > Jean > > > On Fri, Mar 11, 2016 at 8:55 AM, Jan Kacaba <jan.kac...@gmail.com> wrote: > > > Hello, I have following problem in loops. It occurred to me multiple > times > > bellow is an example. Inside if() I have sometimes function f(x) which > may > > return integer(0). If I test f(x)>1 and f(x)=integer(0) I get error. > Maybe > > it can be solved more eloquently without loop or swithces. I don't know. > > > > Example: > > > > a=c("ab","abc","abcd","abcde","abcdefghjk") # vector from which new > strings > > will be constructed > > svec=NULL # vector of string > > rz=NULL # string > > > > for (i in 1:10){ > > if (nchar(rz)>6){ > > svec[i]=rz > > rz=NULL > > } > > > > if (nchar(a[i])+nchar(rz))<6){ > > rz=paste(rz,a[i]) > > } > > > > if (nchar(rz)+nchar(a[i+1]>6){ > > svec[i]=rz > > rz=NULL > > } > > } > > > > I'm not interested how to treat nchar() function in particular but > general > > function. One solution which comes to mind is to redefine function for > > example nchar() function like this: > > > > new.nchar=function(x){ > > if (length(nchar(rz))==0){z=0} > > if (length(nchar(rz))>0){z=nchar(rz)} > > return(z) > > } > > > > Is it correct way of doing this or is there a better way without the need > > of redefining new function? > > <derek> > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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. > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.