# ifelse function in R only returns the first element

[This article was first published on

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

**One Tip Per Day**, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

If you also favor to use the function, be aware of the returned value. For example:

Here is another nice example (from http://rwiki.sciviews.org/doku.php?id=tips:programming:ifelse)

R-bloggers.com offers

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

> ifelse(1>0, 3, 4) [1] 3 > ifelse(1>0, c(2, 3), c(4, 5)) # only the first element returned. [1] 2 > ifelse(c(1:10)>5, 'on', 'off') [1] "off" "off" "off" "off" "off" "on" "on" "on" "on" "on"

Here is another nice example (from http://rwiki.sciviews.org/doku.php?id=tips:programming:ifelse)

> varD <- log(0:9) # A vector like this one that contains -Inf could be troublesome in subsequent manipulations > varD [1] -Inf 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379 1.7917595 [8] 1.9459101 2.0794415 2.1972246 > varD <- ifelse(is.finite(varD), varD, NA) # Remove the -Inf, replace with NA > varD [1] NA 0.0000000 0.6931472 1.0986123 1.3862944 1.6094379 1.7917595 [8] 1.9459101 2.0794415 2.1972246

To

**leave a comment**for the author, please follow the link and comment on their blog:**One Tip Per Day**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.

Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.