Message-ID: <CA+8X3fVJhhVL2EKM6JffRf9ucAHi5n0m3sf9P8QR2_qdsa7gfw@mail.gmail.com>
Date: 2017-02-10T00:16:19Z
From: Jim Lemon
Subject: How to include custom na.action in function
In-Reply-To: <BEAB18E7-851C-4D1B-8AEC-67D4FF438B79@gmail.com>
Hi Alejandro,
How about:
-sign(x) * sign(x) * x
Jim
On Fri, Feb 10, 2017 at 6:30 AM, Alejandro <a.gonzalezvoyer at 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 at 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.