R 有個 function 叫 paste() 。
如
paste("The current date and time is", Sys.time(), "and you current working directory is", getwd(), ". Mr Stark.")
Output 是
"The current date and time is 2012-05-18 13:05:39 and you current working directory is /home/chainsaw/Stat . Mr Stark."
基本上就是將一大堆的 String 串成一個大 String 。此 paste() 為我常用的功能之一。
但是,此 paste function 有一個問題。例如我想將存有 1-4 string 的 vector 串成 "1 2 3 4" ,如下 code :
paste(as.character(1:4))
出來的結果仍是 vector ,不是如我所預料那樣。解決方法是用 Higher-order function Reduce() ,如此:
Reduce(paste, as.character(1:4))
此 Reduce 是將 paste 變成這樣:
paste(paste(paste(1,2),3),4)
此類的 function 還有 Map, Filter, Find, Position 和 Negate 。最近工作上要常常用到如此 function 去除去 for loop 。