Hi Alejandro, How about: -sign(x) * sign(x) * x
Jim On Fri, Feb 10, 2017 at 6:30 AM, Alejandro <a.gonzalezvo...@gmail.com> wrote: > Hello, > > I’ve tried googling for an answer to this but I simply can’t find something > that fixes my problem. I have a long numerical vector with positive, negative > and null values. I want to revert the sign of the positive and negative > values and for zero to remain zero. I’ve written a function that works, > except that my vector has missing values (NA) and I need to keep those as > missing values. How could I add that to this function: > > revertsign<-function(x){ > if (x > 0) {x <- x*-1} > else > if (x < 0) {x <- abs(x)} > else > if (x == 0) {x <- 0} > } > > I’ve tried if(is.na(x)) {x <- NA} but I get the following error message: > Error in if (x > 0) { : missing value where TRUE/FALSE needed. Which I guess > is the first NA in the vector which fails the first if of the function. > > I use supply() to run the function on a vector. > > Thanks for any assistance. > > Cheers > > Alejandro > ______________________________________________ > 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. ______________________________________________ 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.