函数用法

paste (…, sep = “ “, collapse = NULL)

用法详解

其中...表示一个或多个R可以被转化为字符型的对象;参数sep表示分隔符,默认为空格;参数collapse可选,如果不指定值,那么函数paste的返回值是自变量之间通过sep指定的分隔符连接后得到的一个字符型向量;如果为其指定了特定的值,那么自变量连接后的字符型向量会再被连接成一个字符串,之间通过collapse的值分隔。

案例展示

当不添加后置参数时,paste函数和as.character函数的效果是一样的:

  1. paste(1:12)
  1. ## [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12"
  1. paste0(1:12) #same
  1. ## [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12"
  1. as.character(1:12) #same
  1. ## [1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "12"

paste函数把它的自变量连成一个字符串,中间默认用空格分开,如:

  1. paste("Hello","world")
  1. ## [1] "Hello world"

连接的自变量可以是向量,这时各对应元素连接起来,长度不相同时较短的向量被重复使用。如:

  1. paste("A", 1:6, sep = "")
  1. ## [1] "A1" "A2" "A3" "A4" "A5" "A6"

如果希望返回的结果是一个元素,使用paste(x,collapse)来实现。

  1. paste(letters[1:6],collapse=",")
  1. ## [1] "a,b,c,d,e,f"

同时,可以结合sep参数来使用:

  1. paste("A", 1:6, sep = "",collapse=",")
  1. ## [1] "A1,A2,A3,A4,A5,A6"

sep的优先级应该是高于collapse参数的,因此是先执行sep的操作,再执行collpase

paste0()函数

  1. paste (..., sep = " ", collapse = NULL)
  2. paste0(..., collapse = NULL)

两者对比不难发现:

paste0(..., collapse) 等同于 paste(..., sep = "", collapse), 效率更高些,其他用法相同