[R] Creating dummy variable using ifelse statement while you also retain NA's

William Dunlap wdunlap at tibco.com
Wed Aug 17 21:25:20 CEST 2016

You can use nested ifelse() calls, as in
   x <- c("a", "b", NA, "678")
   ifelse(is.na(x), NA_integer_, ifelse(grepl("[a-z]", x), 1L, 0L))
   #[1]   1   1  NA   0

Note that most modelling functions that need dummy variables
use the model.matrix function internally so character/factor data gets
converted to dummy variables automatically.  Using ifelse to make
dummy variables is usually the hard way to do it.

Bill Dunlap
TIBCO Software
wdunlap tibco.com

On Wed, Aug 17, 2016 at 11:24 AM, Olu Ola via R-help <r-help at r-project.org>

>  Hello,I am trying to create a dummy variable using the ifelse statement.
> However, the ifelse statement does not recognize na.rm = True.
> How can I create a dummy variable so that it still retains the missing
> data denoted as "NA" ?
> Regards
>         [[alternative HTML version deleted]]
> ______________________________________________
> 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.

	[[alternative HTML version deleted]]

More information about the R-help mailing list