Is there an eloquent solution to re-assign vector element values? I have a vector which contains chemical data, some of them are "flagged" as non-detected values by their negative values. I can find the statistics on the positive values in vector "v" simply by typing: >v<- c(5,5,-3,-3,7,8,10)
> v[(v>0)] [1] 5 5 7 8 10 I can also convert to positive values by >asb(v) [1] 5 5 3 3 7 9 10 I then can do mean() and var() etc. But when I want to come up with a way to change a negative value to a postive 1/2 value I couldn't come up with a nice way using "vectoral syntax" to do it. In the method I came up with , I discovered that I have to pre-define a new vector "v.new" or I get an error. >v.new <-v then I have to loop through all of the elements! >for(i in 1:length(v)){ if (v[i] < 0) v.new[i] <- -1*v[i]/2 else v[i] <- v[i]} > v.new [1] 5.0 5.0 -1.5 -1.5 7.0 9.0 10.0 This works but seems labored given the previous crisp vector operations. REX ______________________________________________ [EMAIL PROTECTED] mailing list http://www.stat.math.ethz.ch/mailman/listinfo/r-help