[R] How to include custom na.action in function

Fox, John jfox at mcmaster.ca
Fri Feb 10 01:14:49 CET 2017


Dear Alejandro,

If I follow what you want to do, you can just negate the vector:

> x <- c(-10, 0, 10, NA)
> (x <- -x)
[1]  10   0 -10  NA


I hope this helps,
 John

-------------------------------------
John Fox, Professor
McMaster University
Hamilton, Ontario, Canada
Web: http://socserv.mcmaster.ca/jfox/




On 2017-02-09, 2:30 PM, "R-help on behalf of Alejandro"
<r-help-bounces at r-project.org on behalf of 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.



More information about the R-help mailing list