A handy concatenation operator
[This article was first published on R HEAD, 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.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
It may be useful for you to define a concatenation operator for characters. Sometimes, I find this is more intuitive and handy than using paste0
or paste
. Also, it makes your code look better when you have nested paste, e.g.paste0("Y~",paste0("z",1:3, "*x",1:3,collapse="+")
. The drawback is that it may reduce the readability of your code to other R user, since it is a self define function.(i guess it should be fine, cuz it is really intuitive. Also other scripting language also has similar concatenation operator)
"%+%" <- function(...){ paste0(...,sep="") } > "hello" %+% "world" [1] "helloworld" "hello" %+% "world" %+% 1:3 [1] "helloworld1" "helloworld2" "helloworld3"
Generating formula:
"Y~" %+% paste0("z",1:3, "*x",1:3,collapse="+") [1] "Y~z1*x1+z2*x2+z3*x3"
To leave a comment for the author, please follow the link and comment on their blog: R HEAD.
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.