On Aug 1, 2011, at 6:57 PM, zoe_zhang wrote:
Dear All, Sorry to bother I want to write a function in R using if Say I have a dataset x, if x[i]<0, then x[i]=x[i], if x[i]>0, then x[i]=0 for example, x=-3:3, then using the function, x becomes [-3,-2,-1,0,0,0,0]
Just use logical indexing x[ x>0 ] <- 0
I write the codes as follows, gjr=function(x) {lena=length(x) for(i in 1:lenx) if (x[i]<0) return (x[i]) if (x[i]>0) return (0) x} but then, doing gjr(x) it only comes out with one number
'if' is not the right function. Look at ?"if" ?ifelse (But the logical indexing is easier in this case than using ifelse.) -- David Winsemius, MD West Hartford, CT ______________________________________________ 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.