Go to TogaWare.com Home Page. Data Science Desktop Survival Guide
by Graham Williams
Duck Duck Go


Concatenate NULL

20180720 Each operator/functions treats NULL differently. Note the convenience for base::cat() to add a space between the strings, and that base::paste() treats NULL as a zero length string, and thus there are two spaces between the words concatenated.
"hello" %s+% NULL %s+% "world"
## character(0)
str_c("hello", NULL, "world")
## [1] "helloworld"
glue("hello", NULL, "world")

cat("hello", NULL, "world")
## hello world
paste("hello", NULL, "world")
## [1] "hello  world"

NA tends to be treated differently too.

"hello" %s+% NA %s+% "world"
## [1] NA
str_c("hello", NA, "world")
## [1] NA
glue("hello", NA, "world")
## helloNAworld
cat("hello", NA, "world")
## hello NA world
paste("hello", NA, "world")
## [1] "hello NA world"

The examples becomes more interesting in the context that the arguments to the functions might be string returning functions. If that function returns NULL or NA, purposely or accidentally then it is useful to know the consequences.

Support further development by purchasing the PDF version of the book.
Other online resources include the GNU/Linux Desktop Survival Guide.
Books available on Amazon include Data Mining with Rattle and Essentials of Data Science.
Popular open source software includes rattle and wajig.
Hosted by Togaware, a pioneer of free and open source software since 1984.
Copyright © 2000-2020 Togaware Pty Ltd. . Creative Commons ShareAlike V4.